Queues
Since 0.3.5
this is a young feature - functionality could be dramatically enriched in the future.
By default, Queues
are stored in a directory-based style. Each element of a queue pipes directly from incoming requests, as well as to lambda without caching. It means - RAM usage is almost constant regardless of request sizes and a number of elements in a queue.
Security restrictions (policies) checked twice: on append time and before lambda execution in the same way as it defined in security.
Queues that are bound to a lambda can be found in the Overview
-> Endpoint
page.
A queue can be re-assigned to another lambda without destroying it.
In case of failure, the task will be re-tried after a defined interval with a limited number of attempts. 0 retry means no additional attempts - at least once the task will be processed. After failure, a queue worker will wait the required time, and it will not process other tasks.
After lambda removal, linked queues also will be automatically removed.
Designed to
- provide async processing for long-running tasks;
NOT designed for
- load balancing (but possible using multiple queues);
Endpoint: /q/:queue-name
Allowed queue names: latin letters, numbers, dash, and 3 to 64 symbols length.
One queue is always linked to one lambda, but one lambda can be linked to multiple queues.