Workflow interpreter should add worker key to spec
The execution of workflow nodes in by the launcher thread in FWEngine is controlled by two methods simulataneously: using worker name and using category. The category is already implemented in the interpreter: interactive (default category) and batch category when resource specification requires batch processing using Slurm.
There is currently no _fworker
key set in the persistent models which makes execution using WFEngine difficult. A workaround is to create a FWEngine object with specifying the name
parameter, add the workflow(s) and then add a _fworker
key to all nodes in the workflow(s) with the same name as the name of the FWEngine object.
Interesting is how this has worked using the async (background) execution option in an interactive session. First this has to be tested as it is to see whether (and why) it works. This is in these two tests: https://git.scc.kit.edu/virtmat-tools/vre-language/-/blame/master/tests/test_session.py#L289 and https://git.scc.kit.edu/virtmat-tools/vre-language/-/blame/master/tests/test_session.py#L308.
Then we have to find out how to generate the worker names. Generally, different parts of the program can be executed on different resources. We can restrict the first implementation to one worker only but keep in mind that his might need to change later on.