Commit Graph

34 Commits

Author SHA1 Message Date
cbda753f44 master: TCP server for remote logging 2015-10-16 00:53:35 +08:00
c00bce3967 master,client,gui: logging sources, timestamps, levels 2015-10-14 01:06:57 +08:00
3cec176318 get_ddb -> get_device_db 2015-10-12 19:46:31 +08:00
97accd2540 merge parameters and results into datasets 2015-10-12 17:18:23 +08:00
b3584bc190 language,master,run: support raw access to DDB from experiments. Closes #123 2015-10-04 18:29:39 +08:00
0e3927b01a master: support DDB rescan 2015-10-04 17:38:07 +08:00
c80f0fa07a master: delete head repository checkout on exit 2015-08-08 11:44:19 +08:00
585bb236f8 master: add ddb/pdb args 2015-08-08 11:13:36 +08:00
7ed8fe57fa Git support 2015-08-07 15:51:56 +08:00
3a06e22b67 master: handle logging while scanning repository 2015-07-23 23:06:15 +08:00
8402f1cdcd master,gui: basic log support 2015-07-22 05:13:50 +08:00
6b36d93cc2 master,client: support repository rescan 2015-07-17 18:55:48 +02:00
9ed4dcd7d1 repository: load experiments in worker, list arguments 2015-07-15 10:54:44 +02:00
32d141f5ac refactor ddb/pdb/rdb 2015-07-13 22:21:32 +02:00
9d4073ef36 master: remove simple parameter history 2015-07-09 13:54:38 +02:00
b74b8d5826 Scheduling TNG 2015-05-17 16:11:00 +08:00
bd145bbabc use %(default) in argparse 2015-03-23 20:02:14 +01:00
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
4c280d5fcc master: use a new worker process for each experiment 2015-03-09 16:22:41 +01:00
651ed71b79 master: basic automatic experiment list 2015-02-21 20:34:31 -07:00
6601bebcfe master: make RIDs unique across restarts 2015-02-21 18:41:07 -07:00
965dd89b61 master: reorganize result output code 2015-02-21 14:28:18 -07:00
c69c4d5ce9 master: expose scheduler API to experiments 2015-02-19 12:09:11 -07:00
17596f4ad8 tools,frontend: print default ports 2015-02-15 14:58:57 -07:00
79a5d8a12a tools,frontend: common network arguments 2015-02-15 14:55:43 -07:00
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
2fbe22e15e master,client: support changing real-time results group 2015-01-30 20:36:54 +08:00
e7dac4ab43 master: experiment registry 2015-01-29 19:59:16 +08:00
Yann Sionneau
5ba7218cc1 Factorize argparser for debug level 2015-01-29 10:07:12 +08:00
db3114f79b serve GUI and Glade file from master 2015-01-26 23:37:33 +08:00
9fb42e4952 doc: use sphinx-argparse 2015-01-23 00:52:13 +08:00
47aa634ab5 replace periodic schedule with timed schedule 2015-01-23 00:23:00 +08:00
0c2e960c85 frontend: restore artiq_ prefix 2015-01-17 19:41:00 +08:00