Commit Graph

56 Commits

Author SHA1 Message Date
Chris Ballance b6ad510007 master: style (NFC) 2017-11-28 08:56:04 +08:00
Chris Ballance 00efb0ccd2 master: expand --name help 2017-11-28 08:56:04 +08:00
Chris Ballance fafabacf97 master: add friendly name 2017-11-28 08:56:04 +08:00
Sebastien Bourdeauducq cd757c0f16 generate device database from executable python file 2017-05-18 23:14:55 +08:00
Sebastien Bourdeauducq ad85a0cee3 add session manager (#691) 2017-05-15 17:05:22 +08:00
Sebastien Bourdeauducq 43aad0914e python3.5 -> python3
Many things also work with Python 3.6.
2017-01-30 09:24:43 +08:00
Sebastien Bourdeauducq e45c089428 master, dashboard: support applet requests from experiments 2016-09-05 00:53:44 +08:00
Sebastien Bourdeauducq 03a69ec5b7 scheduler: add check_pause function 2016-06-27 14:37:29 +08:00
Sebastien Bourdeauducq 10267f39c9 log: use broadcast instead of sync_struct, filter on new messages only (#411) 2016-05-27 23:43:29 -05:00
Sebastien Bourdeauducq a53d32c24e master: always expose full set of worker handlers (#368) 2016-04-02 23:05:16 +08:00
Sebastien Bourdeauducq 2cbe47e26f protocols/pc_rpc: document coroutine methods, support locking 2016-03-22 21:55:06 +08:00
Sebastien Bourdeauducq 4bf0db32be master: publish repository status 2016-03-18 00:40:17 +08:00
Robert Jördens 6830703ec6 artiq_master: directly log, explicit imports 2016-02-18 15:35:02 +01:00
Robert Jördens 0edde9f4d3 master: inform when running 2016-02-18 14:13:40 +01:00
Sebastien Bourdeauducq 72a993afe0 master: cache last RID. Closes #234 2016-02-15 18:20:50 +01:00
Sebastien Bourdeauducq 5aa4de8e89 refactor logging and implement in worker 2016-01-26 20:31:42 +01:00
Sebastien Bourdeauducq c9da5f4ecb frontend: bind v4 and v6 localhost addresses by default, support multiple bind 2015-12-27 18:03:13 +08:00
Sebastien Bourdeauducq 5e14afde3e scheduler: use current (last scanned) repo revision instead of HEAD 2015-12-06 19:00:41 +08:00
Sebastien Bourdeauducq ea6dcb2743 master: repository -> experiment_db 2015-12-06 18:39:27 +08:00
Sebastien Bourdeauducq 4166f4e928 frontend: use atexit_register_coroutine in other tools 2015-11-11 16:22:12 +08:00
whitequark 51f04f6311 Explicitly use the python3.5 binary everywhere. 2015-11-07 13:39:39 +03:00
Sebastien Bourdeauducq 2c77c80b4f master: expose more scheduler APIs to the experiments 2015-10-30 13:41:18 +08:00
Sebastien Bourdeauducq cbda753f44 master: TCP server for remote logging 2015-10-16 00:53:35 +08:00
Sebastien Bourdeauducq c00bce3967 master,client,gui: logging sources, timestamps, levels 2015-10-14 01:06:57 +08:00
Sebastien Bourdeauducq 3cec176318 get_ddb -> get_device_db 2015-10-12 19:46:31 +08:00
Sebastien Bourdeauducq 97accd2540 merge parameters and results into datasets 2015-10-12 17:18:23 +08:00
Sebastien Bourdeauducq b3584bc190 language,master,run: support raw access to DDB from experiments. Closes #123 2015-10-04 18:29:39 +08:00
Sebastien Bourdeauducq 0e3927b01a master: support DDB rescan 2015-10-04 17:38:07 +08:00
Sebastien Bourdeauducq c80f0fa07a master: delete head repository checkout on exit 2015-08-08 11:44:19 +08:00
Sebastien Bourdeauducq 585bb236f8 master: add ddb/pdb args 2015-08-08 11:13:36 +08:00
Sebastien Bourdeauducq 7ed8fe57fa Git support 2015-08-07 15:51:56 +08:00
Sebastien Bourdeauducq 3a06e22b67 master: handle logging while scanning repository 2015-07-23 23:06:15 +08:00
Sebastien Bourdeauducq 8402f1cdcd master,gui: basic log support 2015-07-22 05:13:50 +08:00
Sebastien Bourdeauducq 6b36d93cc2 master,client: support repository rescan 2015-07-17 18:55:48 +02:00
Sebastien Bourdeauducq 9ed4dcd7d1 repository: load experiments in worker, list arguments 2015-07-15 10:54:44 +02:00
Sebastien Bourdeauducq 32d141f5ac refactor ddb/pdb/rdb 2015-07-13 22:21:32 +02:00
Sebastien Bourdeauducq 9d4073ef36 master: remove simple parameter history 2015-07-09 13:54:38 +02:00
Sebastien Bourdeauducq b74b8d5826 Scheduling TNG 2015-05-17 16:11:00 +08:00
Sebastien Bourdeauducq bd145bbabc use %(default) in argparse 2015-03-23 20:02:14 +01:00
Sebastien Bourdeauducq d5795fd619 master: watchdog support
Introduces a watchdog context manager to use in the experiment code that
terminates the process with an error if it times out. The syntax is:

with self.scheduler.watchdog(20*s):
   ...

Watchdogs timers are implemented by the master process (and the worker
communicates the necessary information about them) so that they can be
enforced even if the worker crashes. They can be nested arbitrarily.
During yields, all watchdog timers for the yielding worker are
suspended [TODO]. Setting up watchdogs is not supported in kernels,
however, a kernel can be called within watchdog contexts (and terminating
the worker will terminate the kernel [TODO]).

It is possible to implement a heartbeat mechanism using a watchdog, e.g.:

for i in range(...):
    with self.scheduler.watchdog(...):
        ....

Crashes/freezes within the iterator or the loop management would not be
detected, but they should be rare enough.
2015-03-11 16:43:14 +01:00
Sebastien Bourdeauducq 4c280d5fcc master: use a new worker process for each experiment 2015-03-09 16:22:41 +01:00
Sebastien Bourdeauducq 651ed71b79 master: basic automatic experiment list 2015-02-21 20:34:31 -07:00
Sebastien Bourdeauducq 6601bebcfe master: make RIDs unique across restarts 2015-02-21 18:41:07 -07:00
Sebastien Bourdeauducq 965dd89b61 master: reorganize result output code 2015-02-21 14:28:18 -07:00
Sebastien Bourdeauducq c69c4d5ce9 master: expose scheduler API to experiments 2015-02-19 12:09:11 -07:00
Sebastien Bourdeauducq 17596f4ad8 tools,frontend: print default ports 2015-02-15 14:58:57 -07:00
Sebastien Bourdeauducq 79a5d8a12a tools,frontend: common network arguments 2015-02-15 14:55:43 -07:00
Sebastien Bourdeauducq 186aa7fdb7 style 2015-02-04 14:44:39 +08:00
Yann Sionneau fc92a66e51 asyncio: Use ProactorEventLoop on Windows 2015-02-03 22:29:03 +08:00
Sebastien Bourdeauducq 2fbe22e15e master,client: support changing real-time results group 2015-01-30 20:36:54 +08:00