Nace Plesko
10/03/2022, 7:47 PMShellTasks
. Setting timeout like it says in the documentation doesn't have any effect, the task doesn't get terminated after 10 seconds in this case. Is that a bug in Prefect or is it an issue on my part and I'm somehow misconfiguring ShellTask
?
I really appreciate any help on this and thank you in advance!Nate
10/03/2022, 8:11 PMShellTask
seems to be behaving as expected for me on prefect==1.2.4
from prefect import Flow
from prefect.tasks.shell import ShellTask
with Flow('test shell task timeout') as flow:
cmds = ['sleep 4; echo "done"', 'sleep 6; echo "done"']
ShellTask(timeout=5, stream_output=True).map(command=cmds)
if __name__ == '__main__':
flow.run()
yields
❯ python shelltasktimeout.py
[2022-10-03 15:10:02-0500] INFO - prefect.FlowRunner | Beginning Flow run for 'test shell task timeout'
[2022-10-03 15:10:02-0500] INFO - prefect.TaskRunner | Task 'ShellTask': Starting task run...
[2022-10-03 15:10:02-0500] INFO - prefect.TaskRunner | Task 'ShellTask': Finished task run for task with final state: 'Mapped'
[2022-10-03 15:10:02-0500] INFO - prefect.TaskRunner | Task 'ShellTask[0]': Starting task run...
[2022-10-03 15:10:07-0500] INFO - prefect.ShellTask | done
[2022-10-03 15:10:07-0500] INFO - prefect.TaskRunner | Task 'ShellTask[0]': Finished task run for task with final state: 'Success'
[2022-10-03 15:10:07-0500] INFO - prefect.TaskRunner | Task 'ShellTask[1]': Starting task run...
[2022-10-03 15:10:13-0500] INFO - prefect.TaskRunner | Task 'ShellTask[1]': Finished task run for task with final state: 'TimedOut'
[2022-10-03 15:10:13-0500] INFO - prefect.FlowRunner | Flow run FAILED: some reference tasks failed.
Nace Plesko
10/03/2022, 8:14 PMprefect==1.2.2
, but in the UI under "Flow Overview" I see Prefect Core Version 1.3.1
Nate
10/03/2022, 8:24 PMNace Plesko
10/03/2022, 8:32 PMNate
10/03/2022, 8:32 PMNace Plesko
10/04/2022, 2:08 PMNate
10/04/2022, 2:39 PM