spinetoolbox.execution_managers¶
Classes to manage tool instance execution in various forms.
| author: |
|
|---|---|
| date: | 1.2.2018 |
Module Contents¶
Classes¶
ExecutionManager |
Base class for all tool instance execution managers. |
ConsoleExecutionManager |
Class to manage tool instance execution using a SpineConsoleWidget. |
QProcessExecutionManager |
Class to manage tool instance execution using a PySide2 QProcess. |
-
class
spinetoolbox.execution_managers.ExecutionManager(logger)[source]¶ Bases:
PySide2.QtCore.QObjectBase class for all tool instance execution managers.
Class constructor.
Parameters: logger (LoggerInterface) – a logger instance
-
class
spinetoolbox.execution_managers.ConsoleExecutionManager(console, commands, logger)[source]¶ Bases:
spinetoolbox.execution_managers.ExecutionManagerClass to manage tool instance execution using a SpineConsoleWidget.
Class constructor.
Parameters: - console (SpineConsoleWidget) – Console widget where execution happens
- commands (list) – List of commands to execute in the console
- logger (LoggerInterface) – a logger instance
-
class
spinetoolbox.execution_managers.QProcessExecutionManager(logger, program=None, args=None, silent=False, semisilent=False)[source]¶ Bases:
spinetoolbox.execution_managers.ExecutionManagerClass to manage tool instance execution using a PySide2 QProcess.
Class constructor.
Parameters: - logger (LoggerInterface) – a logger instance
- program (str) – Path to program to run in the subprocess (e.g. julia.exe)
- args (list) – List of argument for the program (e.g. path to script file)
- silent (bool) – Whether or not to emit logger msg signals
-
start_execution(self, workdir=None)[source]¶ Starts the execution of a command in a QProcess.
Parameters: workdir (str) – Work directory
-
inject_data_to_write_channel(self)[source]¶ Writes data to process write channel and closes it afterwards.
-
wait_for_process_finished(self, msecs=30000)[source]¶ Wait for subprocess to finish.
Returns: True if process finished successfully, False otherwise
-
on_state_changed(self, new_state)[source]¶ Runs when QProcess state changes.
Parameters: new_state (QProcess::ProcessState) – Process state number
-
on_process_error(self, process_error)[source]¶ Runs if there is an error in the running QProcess.
Parameters: process_error (QProcess::ProcessError) – Process error number
-
teardown_process(self)[source]¶ Tears down the QProcess in case a QProcess.ProcessError occurred. Emits execution_finished signal.