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.
Centralized log dispatch from user code.
The hook that the context object belongs to.
The op instance associated with the hook.
Op
The key for the step where this hook is being triggered.
str
Resources required by this hook.
Set[str]
Resources available in the hook context.
Resources
The parsed config specific to this op.
Any
The name of the job where this hook is being triggered.
str
The id of the run where this hook is being triggered.
str
The thrown exception in a failed op.
Optional[BaseException]
Computed output values in an op.
Dict
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.
Examples
context = build_hook_context()
hook_to_invoke(context)
with build_hook_context(resources={"foo": context_manager_resource}) as context:
hook_to_invoke(context)