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.

<?php

require dirname(__FILE__) . '/vendor/autoload.php';

use SignalWire\Relay\Tasking\Task;

$task = new Task('XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX', 'PTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
$context = 'office';
$delivered = $task->deliver($context, [
'key' => 'value',
'data' => 'data for your job'
]);

Methods

deliver

Send a job to your Consumer in a specific context.

Available In:

Parameters

$contextstringrequiredContext where to send the Task.
$messagearrayrequiredArray with your custom data that will be sent to your Consumer's onTask handler.

Returns

boolean - Whether the Task has been sent successfully.

Examples

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

$delivered = $task->deliver('office', [
'action' => 'call',
'from' => '+18881112222'
'to' => '+18881113333'
]);