Download the PHP package amtgard/redis-set-queue without Composer
On this page you can find all versions of the php package amtgard/redis-set-queue. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download amtgard/redis-set-queue
More information about amtgard/redis-set-queue
Files in amtgard/redis-set-queue
Package redis-set-queue
Short Description Redis message SetQueue backed by workerman
License MIT
Homepage https://github.com/amtgard/redis-set-queue
Informations about the package redis-set-queue
redis-set-queue
A setqueue built on top of redis
Usage
This library is designed to be used with a cron or worker library, such as workerman (composer require workerman/workerman).
It operates as a general pub/sub queue with the following trick: if any key is already in the queue, it will not be re-queued. When a duplicate key is requeued, the default operation is to return the existing message without replacement.
send() with the optional $replace = true parameter will replace the existing message with the new message.
In either case, no more than a single message will ever exist for the same key at the same time.
[NOTE: Key idempotency is best-effort. There are conditions in which messages are evicted or duplicated.]
General use is enshrined in code in the RedisPubSubQueueTest.php test file, but in general use is expected from two systems:
- Publishers
- Subscribers
Subscriber Setup
Publisher Setup
Building & Testing
Built and tested on PHP 8.3 & 8.4 with Redis extensions.
You may need to install and configure Redis extensions:
pecl install redis
To test all methods, you will need to run Redis locally (and modify tests) or run the provided docker file to set up a test server.
docker compose -f docker-compose-php8-setqueue.dev.yml up -d --build
Then run:
./vendor/bin/phpunit
All versions of redis-set-queue with dependencies
ext-redis Version *
jedibc/optional Version ^1.0
amtgard/builder-traits Version ^2.0
amtgard/amtgard-interfaces Version ^1.0