ScriptQueue#
- class lsst.ts.scriptqueue.ScriptQueue(index, initial_state=State.STANDBY, standardpath=None, externalpath=None, verbose=False)#
Bases:
BaseCscCSC to load and configure scripts, so they can be run.
- Parameters:
index (
int) –ScriptQueue SAL component index:
1 for the Main telescope.
2 for AuxTel.
Any allowed value (see
Raises) for unit tests.
initial_state (
lsst.ts.salobj.Stateorint, optional) – The initial state of the CSC.standardpath (
str,bytesoros.PathLike(optional)) – Path to standard SAL scripts. If None then uselsst.ts.standardscripts.get_scripts_dir().externalpath (
str,bytesoros.PathLike(optional)) – Path to external SAL scripts. If None then uselsst.ts.externalscripts.get_scripts_dir().verbose (
bool) – If True then print diagnostic messages to stdout.
- Raises:
ValueError – If
index< 0 or > MAX_SAL_INDEX//100,000 - 1. Ifstandardpathorexternalpathis not an existing directory.
Attributes Summary
Methods Summary
add_arguments(parser)Add arguments to the parser created by
make_from_cmd_line.add_kwargs_from_args(args, kwargs)Add constructor keyword arguments based on parsed arguments.
Shut down the queue, terminate all scripts and free resources.
do_add(data)Add a script to the queue.
do_move(data)Move a script within the queue.
do_pause(data)Pause the queue.
do_requeue(data)Put a script back on the queue with the same configuration.
do_resume(data)Run the queue.
do_showAvailableScripts([data])Output a list of available scripts.
do_showQueue(data)Output the queue event.
do_showSchema(data)Output the config schema for a script.
do_showScript(data)Output the script event for one script.
do_stopScripts(data)Stop one or more queued scripts and/or the current script.
Called when the summary state has changed.
put_next_visit(script_info)Output the
nextVisitevent.put_next_visit_canceled(script_info)Output the
nextVisitCanceledevent.Output the queued scripts as a
queueevent.put_script(script_info[, force_output])Output information about a script as a
scriptevent.start()Finish creating the script queue.
Attributes Documentation
- enable_cmdline_state = True#
- valid_simulation_modes: Sequence[int] = [0]#
- version = '?'#
Methods Documentation
- classmethod add_arguments(parser)#
Add arguments to the parser created by
make_from_cmd_line.- Parameters:
parser (
argparse.ArgumentParser) – The argument parser.- Return type:
Notes
If you override this method then you should almost certainly override
add_kwargs_from_argsas well.
- classmethod add_kwargs_from_args(args, kwargs)#
Add constructor keyword arguments based on parsed arguments.
- Parameters:
args (
argparse.Namespace) – Parsed command.kwargs (
dict) – Keyword argument dict for the constructor. Update this based onargs. The index argument will already be present if relevant.
- Return type:
Notes
If you override this method then you should almost certainly override
add_argumentsas well.
- async close_tasks()#
Shut down the queue, terminate all scripts and free resources.
- Return type:
- async do_add(data)#
Add a script to the queue.
Start and configure a script SAL component, but don’t run it.
On success the
resultfield of the final acknowledgement containsstr(index)whereindexis the SAL index of the added Script.- Parameters:
data (
BaseMsgType)- Return type:
- async do_move(data)#
Move a script within the queue.
- Parameters:
data (
BaseMsgType)- Return type:
- async do_pause(data)#
Pause the queue. A no-op if already paused.
Unlike most commands, this can be issued in any state.
- Parameters:
data (
cmd_pause.DataType(optional)) – Command data. Ignored.- Return type:
- async do_requeue(data)#
Put a script back on the queue with the same configuration.
- Parameters:
data (
BaseMsgType)- Return type:
- async do_resume(data)#
Run the queue. A no-op if already running.
- Parameters:
data (
cmd_resume.DataType(optional)) – Command data. Ignored.- Return type:
- async do_showAvailableScripts(data=None)#
Output a list of available scripts.
- Parameters:
data (
cmd_showAvailableScripts.DataType) – Command data. Ignored.- Return type:
- async do_showQueue(data)#
Output the queue event.
- Parameters:
data (
cmd_showQueue.DataType(optional)) – Command data. Ignored.- Return type:
- async do_showSchema(data)#
Output the config schema for a script.
- Parameters:
data (
cmd_showSchema.DataType) – Command data specifying the script.- Return type:
- async do_showScript(data)#
Output the script event for one script.
- Parameters:
data (
cmd_showScript.DataType(optional)) – Command data. Ignored.- Return type:
- async do_stopScripts(data)#
Stop one or more queued scripts and/or the current script.
If you stop the current script, it is moved to the history. If you stop queued scripts they are not not moved to the history.
- Parameters:
data (
BaseMsgType)- Return type:
- async handle_summary_state()#
Called when the summary state has changed.
Override to perform tasks such as starting and stopping telemetry (example).
- Return type:
Notes
The versions in
BaseCscandConfigurableCscdo nothing, so if you subclass one of those you do not need to callawait super().handle_summary_state().
- async put_next_visit(script_info)#
Output the
nextVisitevent.- Parameters:
script_info (
ScriptInfoProtocol)- Return type:
- async put_next_visit_canceled(script_info)#
Output the
nextVisitCanceledevent.- Parameters:
script_info (
ScriptInfoProtocol)- Return type:
- async put_queue()#
Output the queued scripts as a
queueevent.The data is put even if the queue has not changed. That way commands which alter the queue can rely on the event being published, even if the command has no effect (e.g. moving a script before itself).
- Return type:
- async put_script(script_info, force_output=False)#
Output information about a script as a
scriptevent.Designed to be used as a QueueModel script_callback.
- Parameters:
script_info (
ScriptInfo) – Information about the script.force_output (
bool(optional)) – If True the output even if not changed.
- Return type: