Skip to content

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

@billhunekepf

Description

@billhunekepf

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)

  • The above problem applies for delayed task creation and also (of course) if you try to access task results directly, using dep_manager global, even if you've setup task_dep correctly
  • The problem appears to not apply in cases where get_args is used to indicate that task results are needed by dependent tasks. Unfortunately, get_args is of no help for the use case of trying to do delayed task building

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions