Jump to: navigation, search

Difference between revisions of "Zaqar/specs/endpoint"

(QueueController)
(QueueController)
Line 19: Line 19:
 
** Return list of queue names in alphabetical order
 
** Return list of queue names in alphabetical order
 
* Get queue metadata
 
* Get queue metadata
* Create Queue
+
* Upsert Queue
 
** Can specify arbitrary metadata (optional).
 
** Can specify arbitrary metadata (optional).
 
** Top-level field names in the metadata document MUST NOT start with the underscore character as it is reserved for future use.
 
** Top-level field names in the metadata document MUST NOT start with the underscore character as it is reserved for future use.
 
** Metadata is limited to 64 KiB in size
 
** Metadata is limited to 64 KiB in size
* Update queue metadata
+
** (For Updates) The document that the client provides will completely overwrite existing metadata (partial updates are planned for a future release)  
** Same restrictions apply as when creating the queue.
 
** The document that the client provides will completely overwrite existing metadata (partial updates are planned for a future release)  
 
 
* Delete Queue
 
* Delete Queue
 
* Get queue stats
 
* Get queue stats

Revision as of 23:23, 17 March 2013

Marconi Endpoints

Endpoints define the protocol between a given transport and the storage driver. In this way, multiple transports like HTTP and ZMQ can be supported; they are not exclusive and can be enabled directly from the config file.

Related endpoints are grouped into one of several controllers, who's interface is defined by an abstract base class. The storage driver provides a concrete implementation for each controller type.

For specific implementations read: HTTP, ZMQ

Common Endpoints, exposed by Storage Drivers

Storage drivers export 3 controllers which group endpoints by resource.

TODO(kgriffs): Define params and valid ranges for each.

QueueController

  • List Queues
    • Return list of queue names in alphabetical order
  • Get queue metadata
  • Upsert Queue
    • Can specify arbitrary metadata (optional).
    • Top-level field names in the metadata document MUST NOT start with the underscore character as it is reserved for future use.
    • Metadata is limited to 64 KiB in size
    • (For Updates) The document that the client provides will completely overwrite existing metadata (partial updates are planned for a future release)
  • Delete Queue
  • Get queue stats
  • Get Actions
    • Delete message
    • Claim messages
    • Update claim
    • Release claim
    • Claim expired
    • Message expired

MessageController

  • Get Message(s)
  • Post Message(s)
  • Delete Message

ClaimController

  • Claim messages
  • Query claim
  • Update claim
  • Release Claim
  • Claim Stats

Transport-Specific

The following endpoints only apply to specific transports.

WSGI

  • Node health (test_reachable)
  • Get home document