mmeyer2k / monorail
dev-master
2019-05-15 18:17 UTC
Requires
- jeremeamia/superclosure: ^2.0
- mmeyer2k/semlock: ^1.0
- predis/predis: ^1.0
Requires (Dev)
- phpunit/phpunit: ^7.0
This package is auto-updated.
Last update: 2024-12-16 06:09:12 UTC
README
Monorail is a single-threaded, redis-backed queue processor for when you want to do one thing really fast.
Install
composer require mmeyer2k/monorail
Basic Usage and Features
(new \mmeyer2k\Monorail\Queue) ->push(function () { echo "hello world"; });
Priorities
Monorail supports numeric priority levels from 1 to 5 with 3 being default and 1 being highest priority.
(new \mmeyer2k\Monorail\Queue) ->priority(1) ->push(function () { // do something really important });
Tubes
(new \mmeyer2k\Monorail\Queue) ->tube('other tube') ->push(function () { echo "hello world"; });
Delays
$seconds = 15; (new \mmeyer2k\Monorail\Queue) ->delay($seconds) ->push(function () { echo "hello world"; });
Re-queues
Supervisor
To make sure the queue worker is always running, supervisord is a great option.
[program:monorail-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /path/to/project/vendor/mmeyer2k/monorail/monorail work --tube=default
autostart=true
autorestart=true
user=www-data
numprocs=1
redirect_stderr=true
stdout_logfile=/tmp/supervisor-monorail.log