pyworkflow.protocol.launch module

This module is responsible for launching local protocol executions:

1- Check if the protocol will be submitted to a queue (using Queue template from config) 2- Build the command that will be launched.

pyworkflow.protocol.launch.analyzeFormattingTypeError(string, dictionary)[source]
receives a string with %(VARS) to be replaced with a dictionary

it splits te string by

and test the formatting per line. Raises an exception if any line fails

with all problems found

pyworkflow.protocol.launch.launch(protocol, wait=False, stdin=None, stdout=None, stderr=None)[source]

This function should be used to launch a protocol.

pyworkflow.protocol.launch.schedule(protocol, initialSleepTime=0, wait=False)[source]

Use this function to schedule protocols that are not ready to run yet. Right now it only make sense to schedule jobs locally.

pyworkflow.protocol.launch.stop(protocol)[source]

Stop function for three scenarios: - If the queue is not used, kill the main protocol process and its child processes. - If the queue is used and the entire protocol is sent to the queue, cancel the job running the protocol using scancel. - If the queue is used and individual steps are sent to the queue, cancel all active jobs and kill the main protocol process and its child processes.