Is there a way to specify only execution timeout a...
# flyte-support
d
Is there a way to specify only execution timeout and keep queuing timeout unlimited? the context is that we're seeing long queue times because of compute unavailability and are seeing timeouts. I see in the code that there is actually (on the propeller) active deadline + execution deadline and that setting timeout on the task sets both: https://github.com/flyteorg/flyte/blame/e3d99b591dec7d230e63bd6cb91afd120ea62432/flytepropeller/pkg/compiler/transformers/k8s/node.go#L76. Thanks for any guidance here.
h
Unfortunately not. This sounds like a good feature to add though 🙂 if you are willing to make the change, I'll be happy to expedite it. One thing you can do to work around the limitation is adding that logic in the user code itself, something like this:
Copy code
import signal
import time

def handler(signum, frame):
    raise TimeoutError("Timeout reached")

@task
def my_task():
  # Set the signal handler
  signal.signal(signal.SIGALRM, handler)
  signal.alarm(10)  # Set the timeout to 10 seconds

  # Your long-running code here
I've not tried this but looks plausible
f
How should executions time reconcile with task and node across retries
Maybe we want a task timeout and a deadline
d
in our case we would set execution time to unlimited as well
Maybe we want a task timeout and a deadline
what makes you suggest this? 🤔
f
So across multiple retries you may want to limit the time