mmeyer2k/

monorail

dev-master 2019-05-15 18:17 UTC

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