The runtime context allows global access to information about the current run.
PREFECT__RUNTIME__{SUBMODULE}__{KEY_NAME}=value
:bool
, int
, float
and str
) and datetime.datetime
.
For complex types like list
or dict
, we suggest mocking them using
monkeypatch or a similar tool.prefect.runtime
module is the home for all runtime context access. Each major runtime concept
has its own submodule:
deployment
: Access information about the deployment for the current runflow_run
: Access information about the current flow runtask_run
: Access information about the current task runpython my_runtime_info.py
), you should see "I belong to deployment None"
logged.
When information is not available, the runtime always returns an empty value.
Because this flow runs outside of a deployment, there is no deployment data.
If this flow was run as part of a deployment, we’d see the name of the deployment instead.
See the runtime API reference for a full list of available attributes.
prefect.context.get_run_context()
.
This function raises an exception if no run context is available, meaning you are not in a flow or task run.
If a task run context is available, it is returned even if a flow run context is available.
Alternatively, you can access the flow run or task run context explicitly.
For example, this allows you to access the flow run context from a task run.
Prefect does not send the flow run context to distributed task workers because the context is
costly to serialize and deserialize.
get_run_context
, these method calls do not raise an error if the context is unavailable.
Instead, they return None
.