Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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']]                                        
          }