I believe there isn't a native executor for this b...
# ask-community
c
I believe there isn't a native executor for this but how feasible would it be to write a custom heterogeneous executor, where different tasks might have different execution contexts. Basically say we have a graph of ops, certain ops should be executed on their own pod (i.e. via k8s executor) and others should happen as a subprocess (i.e. via multiprocess_executor) in the current context this
run
is running in (which would be determined by the global run_launcher)
2
v
I had the same thought. Basically, most ops are trivial & lightweight, usually doing some external API calls and waiting for results. But a few ops are compute-heavy and should be running in some isolated specific environment, like VM with GPUs. It would be nice to run basic ops in subprocess and run only a few complex ops externally.
c
Yes exactly
d
There's an issue tracking this here: https://github.com/dagster-io/dagster/issues/13266
v
Aha, so it is possible to do it on per job / per run level already. It mostly covers my use case, thank you 👍
d
Definitely see the use case and I could potentially imagine writing a custom executor that does this, but not something that Dagster currently has support for