4707aef45c
split out artiq-comtools
2019-11-14 15:21:51 +08:00
4416378d21
frontend: add --version to common tools
2019-11-14 11:42:31 +08:00
3fd6962bd2
use sipyco ( #585 )
2019-11-10 15:55:17 +08:00
David Nadlinger
64b9a377da
master: Factor RIDCounter out into own module, explain worker_db module [nfc]
...
The docstrings are quite minimal still, but should already
help with navigating the different layers when getting
accustomed with the code base.
RIDCounter was moved to its own module, as it isn't really
related to the other classes (used from master only).
2018-10-14 10:41:32 +08:00
b6ad510007
master: style (NFC)
2017-11-28 08:56:04 +08:00
00efb0ccd2
master: expand --name help
2017-11-28 08:56:04 +08:00
fafabacf97
master: add friendly name
2017-11-28 08:56:04 +08:00
cd757c0f16
generate device database from executable python file
2017-05-18 23:14:55 +08:00
ad85a0cee3
add session manager ( #691 )
2017-05-15 17:05:22 +08:00
43aad0914e
python3.5 -> python3
...
Many things also work with Python 3.6.
2017-01-30 09:24:43 +08:00
e45c089428
master, dashboard: support applet requests from experiments
2016-09-05 00:53:44 +08:00
03a69ec5b7
scheduler: add check_pause function
2016-06-27 14:37:29 +08:00
10267f39c9
log: use broadcast instead of sync_struct, filter on new messages only ( #411 )
2016-05-27 23:43:29 -05:00
a53d32c24e
master: always expose full set of worker handlers ( #368 )
2016-04-02 23:05:16 +08:00
2cbe47e26f
protocols/pc_rpc: document coroutine methods, support locking
2016-03-22 21:55:06 +08:00
4bf0db32be
master: publish repository status
2016-03-18 00:40:17 +08:00
6830703ec6
artiq_master: directly log, explicit imports
2016-02-18 15:35:02 +01:00
0edde9f4d3
master: inform when running
2016-02-18 14:13:40 +01:00
72a993afe0
master: cache last RID. Closes #234
2016-02-15 18:20:50 +01:00
5aa4de8e89
refactor logging and implement in worker
2016-01-26 20:31:42 +01:00
c9da5f4ecb
frontend: bind v4 and v6 localhost addresses by default, support multiple bind
2015-12-27 18:03:13 +08:00
5e14afde3e
scheduler: use current (last scanned) repo revision instead of HEAD
2015-12-06 19:00:41 +08:00
ea6dcb2743
master: repository -> experiment_db
2015-12-06 18:39:27 +08:00
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
2c77c80b4f
master: expose more scheduler APIs to the experiments
2015-10-30 13:41:18 +08:00
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