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-09-16 05:39:31 UTC
README
Monorail 是一个单线程、基于 redis 的队列处理器,适用于您想快速完成一件事情时。
安装
composer require mmeyer2k/monorail
基本用法和特性
(new \mmeyer2k\Monorail\Queue) ->push(function () { echo "hello world"; });
优先级
Monorail 支持从 1 到 5 的数字优先级级别,其中 3 为默认值,1 为最高优先级。
(new \mmeyer2k\Monorail\Queue) ->priority(1) ->push(function () { // do something really important });
管道
(new \mmeyer2k\Monorail\Queue) ->tube('other tube') ->push(function () { echo "hello world"; });
延迟
$seconds = 15; (new \mmeyer2k\Monorail\Queue) ->delay($seconds) ->push(function () { echo "hello world"; });
重新入队
监督者
为了确保队列工作始终运行,supervisord 是一个很好的选择。
[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