Create a hook on step success events with the specified parameters from the decorated function.
name (Optional[str]) – The name of this hook.
required_resource_keys (Optional[AbstractSet[str]]) – Keys for the resources required by the hook.
Examples
@success_hook(required_resource_keys={'slack'})
def slack_message_on_success(context):
message = 'op {} succeeded'.format(context.op.name)
context.resources.slack.send_message(message)
@success_hook
def do_something_on_success(context):
do_something()
Create a hook on step failure events with the specified parameters from the decorated function.
name (Optional[str]) – The name of this hook.
required_resource_keys (Optional[AbstractSet[str]]) – Keys for the resources required by the hook.
Examples
@failure_hook(required_resource_keys={'slack'})
def slack_message_on_failure(context):
message = 'op {} failed'.format(context.op.name)
context.resources.slack.send_message(message)
@failure_hook
def do_something_on_failure(context):
do_something()
Define a hook which can be triggered during a op execution (e.g. a callback on the step execution failure event during a op execution).
name (str) – The name of this hook.
hook_fn (Callable) – The callback function that will be triggered.
required_resource_keys (Optional[AbstractSet[str]]) – Keys for the resources required by the hook.
The context
object available to a hook function on an DagsterEvent.
The hook that the context object belongs to.
The instance configured to run the current job.
The name of the job where this hook is being triggered.
Centralized log dispatch from user code.
The parsed config specific to this op.
The thrown exception in a failed op.
The applied output metadata.
the applied output metadata in the normal case
a dictionary from mapping key to corresponding metadata in the mapped case
The computed output values.
the output values in the normal case
a dictionary from mapping key to corresponding value in the mapped case
Resources required by this hook.
Resources available in the hook context.
The id of the run where this hook is being triggered.
The key for the step where this hook is being triggered.
Builds hook context from provided parameters.
build_hook_context
can be used as either a function or a context manager. If there is a
provided resource to build_hook_context
that is a context manager, then it must be used as a
context manager. This function can be used to provide the context argument to the invocation of
a hook definition.
resources (Optional[Dict[str, Any]]) – The resources to provide to the context. These can either be values or resource definitions.
op (Optional[OpDefinition, PendingNodeInvocation]) – The op definition which the hook may be associated with.
run_id (Optional[str]) – The id of the run in which the hook is invoked (provided for mocking purposes).
job_name (Optional[str]) – The name of the job in which the hook is used (provided for mocking purposes).
op_exception (Optional[Exception]) – The exception that caused the hook to be triggered.
instance (Optional[DagsterInstance]) – The Dagster instance configured to run the hook.
Examples
context = build_hook_context()
hook_to_invoke(context)
with build_hook_context(resources={"foo": context_manager_resource}) as context:
hook_to_invoke(context)