A bridge is a simple library in the task’s target language that hide all the complexity of the communication protocol. If not available in your target language, implement the communication protocol by hand.
A bridge provides an easy way to send messages to the worker shell or to receive messages. It also provides methods to get path of input/output files.
We provide the Python bridge as a Python module named
optimserverworkerbridge, you can install
it using pip and our Nexus PyPI repository (you’ll need credentials, see the contact section:
pip3 install -i "https://nexus.decisionbrain.cloud/repository/dbos-pypi/" optimserver-workerbridge==3.2.1
You must then, instantiate the
ExecutionContext and start it:
from optimserver.workerbridge import ExecutionContext execution_context = ExecutionContext() execution_context.start()
Note that calling the
start method will make the bridge wait for messages on the standard
input of the process. If you need to use the standard input for a debugging purpose for instance,
don’t call this method but remember it must be called when the task is ran whithin the worker shell.
The rest of the code is up to you, you can use
execution_context.get_all_input_paths to locate the task input parameter files.
execution_context.get_output_path to get the path where a particular output parameter file must be saved.
To handle stop, register a callback with
execution_context.add_should_stop_callback. To send messages
For more details, use
help(ExecutionContext) with Python in interactive mode.