We currently must call decider.start with a (list of) workflow(s). But we've long known that this list is unneeded; its only use is really filling the DeciderWorker._workflow_executors dict.
A decider can currently instantiate any workflow, as long as its fully qualified class name matches the SWF workflow type: this is how child workflows work. However, our usual SWF workflow type is workflow.type.name (for instance, examples.basic.BasicWorkflow's name is examples.basic.BasicWorkflow.name == "basic").
A solution to accommodate both naming conventions and the need of a FQCN to instantiate an arbitrary class would be passing this optional full name as an extra input when starting a workflow, e.g. in workflow.start.
We currently must call
decider.start
with a (list of) workflow(s). But we've long known that this list is unneeded; its only use is really filling theDeciderWorker._workflow_executors
dict.A decider can currently instantiate any workflow, as long as its fully qualified class name matches the SWF workflow type: this is how child workflows work. However, our usual SWF workflow type is workflow.type.name (for instance, examples.basic.BasicWorkflow's name is
examples.basic.BasicWorkflow.name == "basic"
).A solution to accommodate both naming conventions and the need of a FQCN to instantiate an arbitrary class would be passing this optional full name as an extra
input
when starting a workflow, e.g. inworkflow.start
.