Skip to main content

Event Task

"type" : "EVENT"

Introduction

EVENT is a task used to publish an event into one of the supported eventing systems in Conductor. Conductor supports the the following eventing models:

  1. Conductor internal events (type: conductor)
  2. SQL (type: sqs)

Use Cases

Consider a use case where at some point in the execution, an event is published to an external eventing system such as SQS. Event tasks are useful for creating event based dependencies for workflows and tasks.

Consider an example where we want to publish an event into SQS to notify an external system.

{
"type": "EVENT",
"sink": "sqs:sqs_queue_name",
"asyncComplete": false
}

An example where we want to publish a message to conductor's internal queuing system.

{
"type": "EVENT",
"sink": "conductor:internal_event_name",
"asyncComplete": false
}

Configuration

Input Configuration

AttributeDescription
nameTask Name. A unique name that is descriptive of the task function
taskReferenceNameTask Reference Name. A unique reference to this task. There can be multiple references of a task within the same workflow definition
typeTask Type. In this case, EVENT
sinkExternal event queue in the format of prefix:location. Prefix is either sqs or conductor and location sepcifies the actual queue name. e.g. "sqs:send_email_queue"

Output Configuration

Tasks's output are sent as a payload to the external event. In case of SQS the task's output is sent to the SQS message a a payload.

Supported Queuing Systems

Conductor has support for the following external event queueing systems as part of the OSS build

  1. SQS (prefix: sqs)
  2. NATS (prefix: nats)
  3. AMQP (prefix: amqp_queue or amqp_exchange)
  4. Internal Conductor (prefix: conductor) To add support for other

Example

See the Sending SQS messages tutorial for an example EVENT task.