...
See RabbitMQ use case for an example how to connect external software with Odysseus via RabbitMQ.
Send and Receive with RabbitMQ
Here is a simple example where content is send to RabbitMQ and received with Odysseus again.
Code Block |
---|
#PARSER PQL
#ADDQUERY
timer = TIMER({PERIOD = 1000, SOURCE = 'timersource'})
SENDER = SENDER({
transport='RabbitMQ',
wrapper='GenericPush',
protocol='csv',
datahandler='Tuple',
SINK="SENDER",
options=[
['QUEUE_NAME','nexmark'],
['CONSUMER_TAG','bid'],
['HOST','localhost']
]
},
timer
) |
Receiver
Code Block |
---|
#PARSER PQL
#REMOVEQUERY A
#QNAME A
#RUNQUERY
input = ACCESS({
transport='RabbitMQ',
source= 'Receiver',
wrapper='GenericPush',
protocol='csv',
datahandler='Tuple',
options=[
['QUEUE_NAME','nexmark'],
['CONSUMER_TAG','bid'],
['HOST','localhost'],
['ByteOrder', 'LittleEndian']
],
schema=[['time', 'StartTimestamp']]
} |