Arrows represent input-output requirements between tasks. Nevermind the start and end nodes, they are dummy placeholders.
Each task depends on some other task’s output to use as input (e.g. task5 is using task4’s outputs, calculates its results, then task7 will use outputs of task5 and so on…)
def task_N(*args, **kwargs):
# load task dependencies as inputs
...
# run task with inputs
...
# save task result
...
Moving the implementation from python celery to temporalio (using python again). In celery we have achieved this with chaining and grouping tasks,
How should we implement such orchestration logic in temporalio? Is there any similar structure in temporalio? Does it makes sense to use signals?
You could pass in your dependency graph as input (dsl represented as json for example) to workflow, or read it via activity from a store if needed on workflow exec start. Could build your data structure from it and then execute activities (tasks) based on the graph.
How large can graphs get (max number of possible tasks)?