I want to create a job with multiple operations where a few operations start another job and wait until the job is completed.
Is there a built-in function in dagster, or do I just have to programmatically submit the job from Op and wait until the status of the submitted job changes to a success/failed/canceled status?
05/31/2022, 4:47 PM
Hi @Vlad Efanov! there's not a built-in way to do this in Dagster. The solution you describe would work, although depending on your exact setup there might be other more convenient ways to model this. For example, is it possible to have whatever jobs that are being run in Ops B/D be part of "Main job" directly? Even if the B job / D job need to be standalone artifacts, it's possible that you could include the same exact ops in the main job (all jobs have graphs backing them, so you could embed the B graph / D graph inside the main job)
06/01/2022, 6:42 AM
Hi @owen. Thank you for your answer.
I forgot to add something important.
I have limits on the number of Jobs that can run at the same time:
Main job - 30
Work in Op B - 7
Work in Op D - 1
Because of this, I cannot insert Jobs from B and D into the main Job.
Is my solution the only one I can do?
06/01/2022, 5:21 PM
ah I see -- in that case, your solution is probably the best option. You could also model these dependencies using sensors that detect when a job succeeds (example showing what that looks like for detecting job failures: https://github.com/dagster-io/dagster/discussions/7257), but honestly I think your solution would be easier to manage