<commit_before>Queues
======

You can use one of the existing queues:

* `MemoryEventQueue` - storage of events in memory, in the current PHP process;
* `MemoryUniqueEventQueue` - storage of unique events in memory, in the current process;
* `PredisEventQueue` - storage of events in Redis using [predis/predis](https://packagist.org/packages/predis/predis);
* `PredisUniqueEventQueue` - storage of unique events in Redis using
[predis/predis](https://packagist.org/packages/predis/predis).

You can create your own queue service by implementing the interface `EventQueueInterface`.

## Redis event queue

`PredisEventQueue` using [predis/predis](https://packagist.org/packages/predis/predis) for access to Redis and
[Symfony Serializer](http://symfony.com/doc/current/components/serializer.html) for serialize events and store its in
Redis.

> **Important!** If the event failed to deserialize when it was received from the queue, it is placed at the end of the<commit_msg>add link to Redis<commit_after>Queues
======

You can use one of the existing queues:

* `MemoryEventQueue` - storage of events in memory, in the current PHP process;
* `MemoryUniqueEventQueue` - storage of unique events in memory, in the current process;
* `PredisEventQueue` - storage of events in [Redis](https://redis.io/) using
[predis/predis](https://packagist.org/packages/predis/predis);
* `PredisUniqueEventQueue` - storage of unique events in [Redis](https://redis.io/) using
[predis/predis](https://packagist.org/packages/predis/predis).

You can create your own queue service by implementing the interface `EventQueueInterface`.

## Redis event queue

`PredisEventQueue` and `PredisUniqueEventQueue` using [predis/predis](https://packagist.org/packages/predis/predis) for access to Redis and
[Symfony Serializer](http://symfony.com/doc/current/components/serializer.html) for serialize events and store its in
Redis.

> **Important!** If the event failed to deserialize when it was received from the queue, it is placed at the end of the
{'fraction_non_alphanumeric': 0.10479485912011864, 'fraction_numerical': 0.0, 'mean_word_length': 5.246913580246914, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 8, 'lorem ipsum': 0, 'www.': 0, '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': '2235911', 'n_tokens_mistral': 590, 'n_tokens_neox': 587, 'n_words': 210}