pydoit / doit

CLI task management & automation tool
http://pydoit.org
MIT License
1.87k stars 175 forks source link

dep_manager.get_result() should not be discouraged if MRunner is also used #455

Open billhunekepf opened 1 year ago

billhunekepf commented 1 year ago

This section of the documentation recommends using the dep_manager global to access task results in cases where you want to build a task group based on the outcome of another task (ie delayed task creation).

In my case, I attempted to use this in combination with parallel running. Unfortunately, I wasted a lot of time before realizing that the dep manager is not synchronized between task runner sub processes and that, even though a dep task has indeed finished running, its results will not be accessible via the dep manager global.

The symptom for this problem is that you will see frequent messages of Exception: taskid 'some_task_name' has no computed value! which go away if you run doit a second time (since now the result is written to disk and accessible to all sub processes)

Fund with Polar

schettino72 commented 1 year ago

realizing that the dep manager is not synchronized between task runner sub processes and that, even though a dep task has indeed finished running, its results will not be accessible via the dep manager global.

I think your conclusion is incorrect (or at least should be). do you have an example to show this behaviour?