The zaqar.storage.mongodb.messages module

Implements MongoDB the storage controller for messages.

Field Mappings:
In order to reduce the disk / memory space used, field names will be, most of the time, the first letter of their long name.
class FIFOMessageController(*args, **kwargs)

Bases: zaqar.storage.mongodb.messages.MessageController

post(*args, **kwargs)
class MessageController(*args, **kwargs)

Bases: zaqar.storage.base.Message

Implements message resource operations using MongoDB.

Messages are scoped by project + queue.

Messages:
    Name                Field
    -------------------------
    scope            ->   p_q
    ttl              ->     t
    expires          ->     e
    marker           ->     k
    body             ->     b
    claim            ->     c
    client uuid      ->     u
    transaction      ->    tx
bulk_delete(*args, **kwargs)
bulk_get(*args, **kwargs)
delete(*args, **kwargs)
first(*args, **kwargs)
get(*args, **kwargs)
list(queue_name, project=None, marker=None, limit=10, echo=False, client_uuid=None, include_claimed=False)
pop(*args, **kwargs)
post(*args, **kwargs)
class MessageQueueHandler(driver, control_driver)

Bases: object

delete(queue_name, project=None)
stats(*args, **kwargs)