Skip to main content

Relay.Task

A Relay.Task is simple way to send jobs to your Relay.Consumers from a short lived process, like a web framework. Relay Tasks allow you to pass commands down to your Consumers without blocking your short lived request. Think of a Relay Task as a way to queue a job for your background workers to processes asynchronously.

Creating Tasks

A Task is a simple object with 2 required arguments: project and token. Project and Token are used to send the Task to your Consumers. Once created, the Task has only one method deliver to send jobs to your Consumer.

const { Task } = require('@signalwire/node')

const yourTask = new Task('XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX', 'PTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
const context = 'office'
yourTask.deliver(context, { 'key': 'value', 'data': 'data for your job' })
.then(() => {
console.log('Task created successfully!')
})
.catch((error) => {
console.log('Error creating task!', error)
})

Methods

deliver

Send a job to your Consumer in a specific context.

Parameters

ParameterTypeDefaultDescription
contextstringrequiredContext where to send the Task
messageobjectrequiredObject with your custom data that will be sent to your Consumer's onTask handler

Returns

Promise - Promise resolved in case of success, rejected otherwise.

Examples

Deliver a task to your Consumer with a message to then make an outbound Call.

const message = {
'action': 'call',
'from': '+18881112222'
'to': '+18881113333'
}
task.deliver('office', message).then(() => {
console.log('Task created successfully!')
})
.catch((error) => {
console.log('Error creating task!', error)
})