Tasks are functions that can run for a long time and provide strong resilience to failure.
export
each task, even subtasks inside the same file. When exported they are accessible so their configuration can be registered with the platform.task
id
fieldrun
functionrun()
will be executed when your task is triggered. It’s an async function that has two arguments:
ctx
about the run (Context), and any output from the optional init
function that runs before every run attempt.run
function will be the result of the task. Data you return must be JSON serializable: strings, numbers, booleans, arrays, objects, and null.
retry
optionsretry
field:
queue
optionsmachine
optionsmachine
field. For more information read the machines guide.
maxDuration
optionmaxDuration
to prevent a task from running too long. You can set the maxDuration
on a task, and all runs of that task will be stopped if they exceed the duration.
init
functioninit
function that will be available in the params of the run
, cleanup
, onSuccess
, and onFailure
functions.
init
function are ignored.cleanup
functionrun
function is executed, regardless of whether the run was successful or not. It’s useful for cleaning up resources, logging, or other side effects.
cleanup
function will fail the attempt.middleware
functionrun
function, it allows you to wrap the run function with custom code.
middleware
is just like an uncaught error in the run function: it will
propagate through to handleError()
and then will fail the attempt (causing a retry).onStart
functiononStart
function is called. It’s useful for sending notifications, logging, and other side effects. This function will only be called one per run (not per retry). If you want to run code before each retry, use the init
function.
onStart
function in your trigger.config.ts
file to get notified when any task starts.
onStart
function are ignored.onSuccess
functiononSuccess
function is called. It’s useful for sending notifications, logging, syncing state to your database, or other side effects.
onSuccess
function in your trigger.config.ts
file to get notified when any task succeeds.
onSuccess
function are ignored.onFailure
functiononFailure
function is called. It’s useful for sending notifications, logging, or other side effects. It will only be executed once the task run has exhausted all its retries.
onFailure
function in your trigger.config.ts
file to get notified when any task fails.
onFailure
function are ignored.onFailure
doesn’t fire for some of the run statuses like Crashed
, System failures
, and Canceled
.handleError
functionsrun
function, that allows you to control how the error is handled and whether the task should be retried.
Read more about handleError
in our Errors and Retrying guide.
HANDLE_ERROR_ERROR
.