-
Notifications
You must be signed in to change notification settings - Fork 17
Scheduler format
Each client downloads a list of scheduled experiments everytime it syncs with the server. A python experiment file will have to be in the scheduler in order to be executed, otherwise it will be ignored.
The scheduler is a JSON file found under ~/.centinel/experiments/scheduler.info
.
In order to schedule an experiment, it should be a dictionary entry in the root of scheduler.info
, pointing to a dictionary of parameters and options:
{
"global_test": {
"frequency": 3600,
"python_exps": {
"baseline": {
"params": {
"traceroute_methods": [
"tcp",
"udp"
]
},
"input_files": [
"country.csv",
"worldwide.csv",
"product_x.csv"
]
}
},
"last_run": 0
}
}
frequency
is the frequency for running the experiment in seconds. It is a mandatory parameter.
last_run
is the time (in seconds from epoch) the experiment was last run. This parameter is mandatory, but is usually set to zero when entry is created.
python_exps
is a dictionary of all python experiments that should be run for this scheduler entry. It is a dictionary with experiment name as the key (name = "http_request"
, and not http.py
), containing input_files
(optional, defaults to class-specified filenames), which is a list of input files, and params
(also optional) which is a dictionary containing parameters that are to be passed to the experiments.
If python_exps
is not specified, the client will try to load a pyhton experiment named as the entry name (e.g. global_baseline
here)