Async Advanced Queuing (AQ) — python-oracledb 3.2.0b1 documentation (original) (raw)

See Using Oracle Transactional Event Queues and Advanced Queuing for more information about using AQ in python-oracledb.

Added in version 3.1.0.

Note

AsyncQueue objects are only supported in python-oracledb Thin mode.

21.1. AsyncQueue Objects

These objects are created using the AsyncConnection.queue() method and are used to enqueue and dequeue messages.

21.1.1. AsyncQueue Methods

AsyncQueue.deqmany(max_num_messages)

Dequeues up to the specified number of messages from the queue and returns a list of these messages. Each element of the returned list is amessage property object.

AsyncQueue.deqone()

Dequeues at most one message from the queue. If a message is dequeued, it will be a message property object; otherwise, the value None will be returned.

AsyncQueue.enqmany(messages)

Enqueues multiple messages into the queue. The messages parameter must be a sequence containing message property objects which have all had their payload attribute set to a value that the queue supports.

AsyncQueue.enqone(message)

Enqueues a single message into the queue. The message must be amessage property object which has had its payload attribute set to a value that the queue supports.

21.1.2. AsyncQueue Attributes

AsyncQueue.connection

This read-only attribute returns a reference to the connection object on which the queue was created.

AsyncQueue.deqoptions

This read-only attribute returns a reference to the options that will be used when dequeuing messages from the queue.

AsyncQueue.enqoptions

This read-only attribute returns a reference to the options that will be used when enqueuing messages into the queue.

AsyncQueue.name

This read-only attribute returns the name of the queue.

AsyncQueue.payload_type

This read-only attribute returns the object type for payloads that can be enqueued and dequeued. If using a JSON queue, this returns the value"JSON". If using a raw queue, this returns the value None.

21.2. Dequeue Options

Note

These objects are used to configure how messages are dequeued from queues. An instance of this object is found in the attributeAsyncQueue.deqoptions.

See Dequeue Options for information on the supported attributes.

21.3. Enqueue Options

Note

These objects are used to configure how messages are enqueued into queues. An instance of this object is found in the attributeAsyncQueue.enqoptions.

See Enqueue Options for information on the supported attributes.

21.4. Message Properties

Note

These objects are used to identify the properties of messages that are enqueued and dequeued in queues. They are created by the methodAsyncConnection.msgproperties(). They are used by the methodAsyncQueue.enqone() and returned by the methodAsyncQueue.deqone().

See Message Properties for information on the supported attributes.