james.lamb07/06/2020, 6:23 PM
How should I handle prefect version differences between the environment where a flow is created and registered (So, concretely, let's say that I have an agent running using the image) and the environment where the agent runs?
. I have some flows already being run by that agent, and those flows were created with
0.12.1. Imagine that
0.13.0 has just been released on PyPi, and data scientists on my team are going to
, create flows, and register them with
pip install prefect
What should I do? 1. Add a label to each agent with the prefect major + minor version (e.g. v0.12, v0.13). Make sure flows are registered with such a version label, so 0.12 flows run on the 0.12 agent and 0.13 flows run on the 0.13 agent.
uses semantic versioning, which means that there can be breaking changes between minor releases in the
series. 2. Do nothing. a flow created with 0.13.x should be expected to work with an agent running 0.12.x 3. Upgrade all those 0.12 flows to 0.13. Prefect Cloud is only ever running a single version of
and if your flows + agent are not in sync with that version, bad things will happen. 4. something else Thanks for your time and consideration!
Kyle Moon-Wright07/06/2020, 6:38 PM
james.lamb07/06/2020, 6:42 PM
library, so I imagine that if those things change it could break older flows: https://github.com/PrefectHQ/prefect/blob/ac473c3b09c4175ecbbd2c8758c300ab49f9b6fe/src/prefect/agent/agent.py#L18-L24
Kyle Moon-Wright07/06/2020, 7:05 PM
james.lamb07/06/2020, 7:27 PM