flyteorg / flyte

Scalable and flexible workflow orchestration platform that seamlessly unifies data, ML and analytics stacks.
https://flyte.org
Apache License 2.0
5.76k stars 656 forks source link

per-execution interruptible flag not piped through via flytekit #5279

Open tblom opened 6 months ago

tblom commented 6 months ago

Motivation: Why do you think this is important?

The interruptible flag for an execution is part of an ExecutionSpec, but there is no way to set this on a per-execution basis via flytekit. See the code for ExecutionSpec.interruptible.

I would like to specify this value at runtime, but a present there appears to be no way to do this short of writing multiple workflows.

Goal: What should the final outcome look like, ideally?

I should be able to specify interruptible on a per-execution basis, just like I can specify overwrite_cache (another example of a value that is part of an ExecutionSpec).

This could be done, e.g., with an interruptible argument to FlyteRemote.execute(). (again, just like overwrite_cache)

Describe alternatives you've considered

I've considered writing alternate workflows, in which the @workflow or @dynamic specifies interruptible as either True or False, and calling the appropriate one at runtime to create either an interruptible workflow or one that is not.

Propose: Link/Inline OR Additional context

No response

Are you sure this issue hasn't been raised already?

Have you read the Code of Conduct?

runllm[bot] commented 6 months ago

The issue you're describing about setting the interruptible flag per execution via Flytekit is not directly addressed in the provided data sources. However, there is a related discussion in this GitHub issue about setting interruptible at workflow start time, which suggests a similar need for dynamic configuration of execution parameters. This indicates a recognized need for more flexible execution settings in Flyte, but does not provide a solution for setting them through Flytekit at runtime.

Would you like more detail on the current capabilities related to the interruptible flag as per the existing data sources?

Sources:


This is an AI-generated response and your feedback is appreciated! Please leave a 👍 if this is helpful and 👎 if it is not.

Mention @runllm to ask follow-up questions. See runllm.com for more!

tblom commented 6 months ago

Note that this issue talked about very much the same thing -- but the solution was to add this per-execution flag to the web form available on the Flyte Console UI. So there, you can set the interruptible flag, as well as the overwrite_cache flag. But via flytekit, you can only set overwrite_cache

tblom commented 5 months ago

@eapolinario Any thoughts about when this may get attention?