<commit_before># Keystone Queue

[![Build Status](https://travis-ci.org/keystonephp/queue.png)](https://travis-ci.org/keystonephp/queue)

A PHP library to create and process background tasks with any queueing service.

Supported queue services:

* [x] [AWS SQS](https://aws.amazon.com/sqs)
* [ ] [RabbitMQ](https://www.rabbitmq.com)

Features:

* Compatible with any queueing service via provider/publisher interfaces.
* Middleware to hook into the processing flow (inspired by [PSR-15](https://github.com/php-fig/fig-standards/tree/master/proposed/http-middleware)).
* Route task messages to workers registered as services in [PSR-11](https://github.com/container-interop/fig-standards/blob/master/proposed/container.md)/Symfony containers.

Middleware:

* Automatically close timed out Doctrine DBAL connections.
* Automatically clear the Doctrine ORM managers to free memory.
* Limit the maximum execution time of the consumer.
* Limit the maximum number of messages a consumer will process.
* Limit the maximum amount of memory a consumer is allowed to use.
* Retry failed tasks using an exponential backoff strategy.
* Handle signals to terminate the consumer process safely.<commit_msg>Add requirements section.<commit_after># Keystone Queue

[![Build Status](https://travis-ci.org/keystonephp/queue.png)](https://travis-ci.org/keystonephp/queue)

A PHP library to create and process background tasks with any queueing service.

Supported queue services:

* [x] [AWS SQS](https://aws.amazon.com/sqs)
* [ ] [RabbitMQ](https://www.rabbitmq.com)

Features:

* Compatible with any queueing service via provider/publisher interfaces.
* Middleware to hook into the processing flow (inspired by [PSR-15](https://github.com/php-fig/fig-standards/tree/master/proposed/http-middleware)).
* Route task messages to workers registered as services in [PSR-11](https://github.com/container-interop/fig-standards/blob/master/proposed/container.md)/Symfony containers.

Middleware:

* Automatically close timed out Doctrine DBAL connections.
* Automatically clear the Doctrine ORM managers to free memory.
* Limit the maximum execution time of the consumer.
* Limit the maximum number of messages a consumer will process.
* Limit the maximum amount of memory a consumer is allowed to use.
* Retry failed tasks using an exponential backoff strategy.
* Handle signals to terminate the consumer process safely.

## Requirements

PHP 7.0 and above are required.
{'fraction_non_alphanumeric': 0.09771054783319706, 'fraction_numerical': 0.004088307440719542, 'mean_word_length': 4.882211538461538, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 12, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1576287', 'n_tokens_mistral': 714, 'n_tokens_neox': 677, 'n_words': 244}