Qiong Liu
03/20/2024, 9:07 PMpause_flow_run
with with_for_input
parameter. However, the flow run of the deployment always fails with error message of
pause_flow_run() got an unexpected keyword argument 'wait_for_input'
The flow runs successfully when running on my local laptop. why is that?Marvin
03/20/2024, 9:07 PMwait_for_input
parameter is an experimental feature in Prefect. Experimental features may change without warning in future releases, implying that the behavior or interface can be different depending on the version of Prefect you are using. The `pause_flow_run` or `suspend_flow_run` functions with `wait_for_input` are used when you need to ask users for additional information or feedback before resuming the flow run.
The error message you're encountering (pause_flow_run() got an unexpected keyword argument 'wait_for_input'
) indicates that the deployed environment might be using a different Prefect version that doesn't recognize this parameter. The execution on your local laptop succeeds probably because your local environment has the correct Prefect version with this experimental feature supported.
To resolve this:
1. Ensure the Prefect version deployed is the same as your local environment.
2. If the Prefect version is supposed to support the feature, consider filing a Github issue since the documentation implies that any encounters with issues should be reported.
There were no relevant issues found in Github, so if you do not resolve the issue by aligning the Prefect versions, consider reporting the problem on Github.
Reference links:
- Creating Human-in-the-Loop Workflows Documentation
- Prefect Docs - Concepts: FlowsNate
03/20/2024, 9:22 PMmight be using a different Prefect version that doesn't recognize this parameter+1
Qiong Liu
03/21/2024, 2:07 PM2.13.0
when the flow runs in ECS. so it makes sense that wait_for_input
hasn't been added. I ran my workflow on my local laptop and it worked fine because my virtualenv has prefect version of 2.14.19. However when I'm deploying my workflow, my requirements.txt have defined the prefect version as 2.14.19. For some reason the version of prefect hasn't been updated when I run the deployment 🤔 I have even tried to add pip install
a specific version in pull step
inside the prefect.yaml file. do you know how to fix this issue?
pull:
- prefect.deployments.steps.git_clone:
id: clone-step
repository: <https://github.com/CBIIT/ChildhoodCancerDataInitiative-Prefect_Pipeline.git>
branch: CCDIDC-886_file_remover
- prefect.deployments.steps.run_shell_script:
id: update-prefect
script: pip install -U "prefect==2.14.19"
stream_output: True
- prefect.deployments.steps.pip_install_requirements:
requirements_file: requirements.txt
directory: "{{ clone-step.directory }}"
stream_output: True