Hooks
- @dagster.success_hook
Create a hook on step success events with the specified parameters from the decorated function.
Parameters:
- name (Optional[str]) – The name of this hook.
- required_resource_keys (Optional[AbstractSet[str]]) – Keys for the resources required by the
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()
- @dagster.failure_hook
Create a hook on step failure events with the specified parameters from the decorated function.
Parameters:
- name (Optional[str]) – The name of this hook.
- required_resource_keys (Optional[AbstractSet[str]]) – Keys for the resources required by the
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()
- class dagster.HookDefinition
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).
Parameters:
- 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
- class dagster.HookContext
The
context
object available to a hook function on an DagsterEvent.- property hook_def
The hook that the context object belongs to.
- property instance
The instance configured to run the current job.
- property job_name
The name of the job where this hook is being triggered.
- property log
Centralized log dispatch from user code.
- property op_config
The parsed config specific to this op.
- property op_exception
The thrown exception in a failed op.
- property op_output_metadata
The applied output metadata.
Returns a dictionary where keys are output names and the values are:
- the applied output metadata in the normal case
- a dictionary from mapping key to corresponding metadata in the mapped case
- property op_output_values
The computed output values.
Returns a dictionary where keys are output names and the values are:
- the output values in the normal case
- a dictionary from mapping key to corresponding value in the mapped case
- property required_resource_keys
Resources required by this hook.
- property resources
Resources available in the hook context.
- property run_id
The id of the run where this hook is being triggered.
- property step_key
The key for the step where this hook is being triggered.
- dagster.build_hook_context
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 tobuild_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.Parameters:
- resources (Optional[Dict[str, Any]]) – The resources to provide to the context. These can
- op (Optional[OpDefinitionOpDefinition, PendingNodeInvocation]) – The op definition which the
- 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[DagsterInstanceDagsterInstance]) – 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)