Zaqar/specs/api/v1/marconi-config

Config Options & Default Values:
The following limits can be changed in marconi.conf, under the [limits:transport] section.


 * queue_paging_uplimit – 20
 * message_paging_uplimit – 20
 * message_ttl_max – 1209600 (seconds, 14 days)
 * claim_ttl_max – 43200 (seconds, 12 hours)
 * claim_grace_max – 43200 (seconds, 12 hours)
 * metadata_size_uplimit – 65536 (bytes, 64 KiB)
 * message_size_uplimit – 262144 (bytes, 256 KiB)

Description
queue_paging_uplimit

This variable controls:
 * The max integral value of the URI parameter  a client can use in a Marconi/specs/api/v1 request URI, thus, the maximum number of queues a client can list one time.  The default value is 20, which means, a request like the following:

GET /v1/queues?limit=30

will result in a 400 Bad Request response.

message_paging_uplimit

This variable controls the following API limits:
 * The maximum items a client can put in a Marconi/specs/api/v1 request's JSON array, thus, the maximum number of messages a client can post one time. The default value is 20, which means, a request like the following:

POST /v1/queues/noein/messages HTTP/1.1 Host: marconi.example.com ... [  { "ttl": 300, "body": "msg1" }, { "ttl": 300, "body": "msg2" }, ...  { "ttl": 300, "body": "msg21" } ]

will result in a 400 Bad Request response without any message to be posted.


 * The max integral value of the URI parameter  in a Marconi/specs/api/v1 request URI, thus, the maximum number of messages a client can list one time.  The default value is 20, which means, a request like the following:

GET /v1/queues/noein/messages?limit=21

will result in a 400 Bad Request response.


 * The max integral value of the URI parameter  in a Marconi/specs/api/v1 request URI, thus, the maximum number of messages a client can claim one time.  The default value is 20, which means, a request like the following:

POST /v1/queues/noein/claims?limit=22 Content-Type: application/json ...

will result in a 400 Bad Request response.


 * The maximum number of message IDs allowed for the URI parameter  in a Marconi/specs/api/v1 request URI, thus, the maximum number of messages a client can fetch one time in a bulk getting.  Note that although this is not a paging API, the URI is usually returned in a message posting's "Location" header.  The default value is 20, which means, a request like the following:

GET /v1/queues/{queue_name}/messages?ids=msg1,msg2,...,msg21

will result in a 400 Bad Request response.


 * The maximum number of message IDs allowed for the URI parameter  in a Marconi/specs/api/v1 request URI, thus, the maximum number of messages a client can delete one time in a bulk deletion.  Note that although this is not a paging API, the URI is usually returned in a message posting's "Location" header.  The default value is 20, which means, a request like the following:

DELETE /v1/queues/{queue_name}/messages?ids=msg1,msg2,...,msg21

will result in a 400 Bad Request response.

message_ttl_max

This variable controls:


 * The maximum integral value of the  fields allowed for each message in a Marconi/specs/api/v1 request, thus, the longest time (in seconds) a message can possibly live without being claimed.  Note that the minimum  TTL is 60s.  The default maximum is 1209600s, 14 days.  Which means, a request like the following:

POST /v1/queues/noein/messages HTTP/1.1 Host: marconi.example.com ... [  { "ttl": 300, "body": "msg1" }, { "ttl": 1300000, "body": "msg2" }, ...  { "ttl": 300, "body": "msg10" } ]

will result in a 400 Bad Request response without any message to be posted.

claim_ttl_max

This variable controls the following API limits:


 * The maximum integral value of the  fields allowed in a Marconi/specs/api/v1 request, thus, the longest time (in seconds) a claim can possibly live.  Note that the minimum TTL is 60s.  The default maximum is 43200s, 12 hours.  A request like the following:

POST /v1/queues/noein/claims Content-Type: application/json ... { "ttl": 50, "grace": 60 }

will result in a 400 Bad Request response.


 * The maximum integral value of the  fields allowed in a Marconi/specs/api/v1 request, thus, the new longest time (in seconds) a claim can possibly have.  Note that the minimum TTL is 60s.  The default maximum is 43200s, 12 hours.  A request like the following:

PATCH /v1/queues/noein/claims Content-Type: application/json ... { "ttl": 50000 }

will result in a 400 Bad Request response.

claim_grace_max

This variable controls:


 * The maximum integral value of the  fields allowed in a Marconi/specs/api/v1 request, thus, the extra time (in seconds) a claim may add to its claimed message.  Note that the minimum grace period is 60s.  The default maximum is 43200s, 12 hours.  A request like the following:

POST /v1/queues/noein/claims Content-Type: application/json ... { "ttl": 60, "grace": 44000 }

will result in a 400 Bad Request response.

metadata_size_uplimit

This variable controls:


 * The maximum size (in bytes) a JSON dict allowed in a Marconi/specs/api/v1 request, thus, the max size of a queue metadata. Note that the Marconi's understanding of "size of JSON" is the size of the compact representation of a JSON (UTF-8 encoded, without extra whitespaces).  The default maximum is 64KiB.  A request like the following:

PUT /v1/queues/noein/metadata HTTP/1.1 Host: marconi.example.com ... {  "key1" : { ... },  "key2" : ... }

where a JSON in the form of  is longer than 64KiB, will result in a 400 Bad Request response.

message_size_uplimit</tt>

This variable controls:


 * The maximum size (in bytes) of the value allowed in each  field in a Marconi/specs/api/v1 request, thus, the max size of a message content.  Note that the Marconi's understanding of "size of JSON" is the size of the compact representation of a JSON (UTF-8 encoded, without extra whitespaces).  The default maximum is 256KiB.  A request like the following:

POST /v1/queues/noein/messages HTTP/1.1 Host: marconi.example.com ... [  { "ttl": 60, "body": "msg1" }, { "ttl": 60, "body": [...] }, ...  { "ttl": 60, "body": "msg10" } ]

where the second entry has a JSON value of the  key, and the JSON is longer than 256KiB, will result in a 400 Bad Request response without any message to be posted.