Overview
The second parameter in a Job's run()
function. It holds Integrations and useful actions you can perform.
Integrations
Any Integrations that you added in the integrations
param of the Job constructor will be available on the io
object in the run()
function with the same name as the key. For example:
View the Integrations documentation for information on how to use Integrations.
Properties
logger
Used to send log messages to the Run log.
Instance methods
wait()
Waits for a certain amount of time before continuing the Job. Delays works even if you’re on a serverless platform with timeouts, or if your server goes down. They utilize resumability to ensure that the Run can be resumed after the delay.
sendEvent()
io.sendEvent()
allows you to send an event from inside a Job run. The sent even will trigger any Jobs that are listening for that event (based on the name).
If you want to send an event from outside a run (e.g. just from your backend) you can use client.sendEvent().
runTask()
io.runTask()
allows you to run a Task from inside a Job run. A Task is a resumable unit of a Run that can be retried, resumed and is logged. Integrations use Tasks internally to perform their actions.
try()
io.try()
allows you to run Tasks and catch any errors that are thrown, it’s similar to a normal try/catch
block but works with io.runTask().
backgroundFetch()
io.backgroundFetch()
allows you to fetch data from a URL that can take longer that the serverless timeout. The actual fetch
request is performed on the Trigger.dev platform, and the response is sent back to you. An example use case is fetching data from a slow API, like some AI endpoints.
registerInterval()
io.registerInterval()
allows you to register a DynamicSchedule that will run on a regular interval.
unregisterInterval()
io.unregisterInterval()
allows you to unregister a DynamicSchedule that was previously registered with io.registerInterval()
.
registerCron()
io.registerCron()
allows you to register a DynamicSchedule that will run on a regular cron schedule.
unregisterCron()
io.unregisterCron()
allows you to unregister a DynamicSchedule that was previously registered with io.registerCron()
.
registerTrigger()
io.registerTrigger()
allows you to register a DynamicTrigger with the specified trigger data.