In particular, for timed runs the mantis interface may send some number of acquisition requests which are all placed into the queue. Given that there could be some overhead/deadtime, the exact time to complete the full set of requests will be larger than the total requested live time by an unknown amount.
The interface has a get-able is_running property that parses the human readable status:
dragonfly get mantis_interface.is_running will return:
get(mantis_queue.server-status)['payload']['server']['server-worker']['status'] != u'Idle (queue is empty)'
Which does work, but is i) ugly to look at/interpret and ii) will break if the human readable message is ever modified.
Note: if the request is acted upon, a corresponding issue should be posted to dragonfly to update the mantis interface to use whatever new api is available.
In particular, for timed runs the mantis interface may send some number of acquisition requests which are all placed into the queue. Given that there could be some overhead/deadtime, the exact time to complete the full set of requests will be larger than the total requested live time by an unknown amount.
The interface has a get-able is_running property that parses the human readable status:
dragonfly get mantis_interface.is_runningwill return:get(mantis_queue.server-status)['payload']['server']['server-worker']['status'] != u'Idle (queue is empty)'Which does work, but is i) ugly to look at/interpret and ii) will break if the human readable message is ever modified.
Note: if the request is acted upon, a corresponding issue should be posted to dragonfly to update the mantis interface to use whatever new api is available.