私信发送成功
Watch Star Fork

flc1125 / php-queuePHPMIT

克隆/下载
Flc 最后提交于 2017-02-27 17:43 Update
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
2017-02-27 17:34
2017-02-27 17:36
2017-02-27 17:36
2017-02-27 17:43
2017-02-27 17:34
Loading...
README.md 980 Bytes

php+redis消息队列

环境

  • PHP >= 5.4
  • composer

安装

composer require flc/php-queue

使用范例

producer

/**
 * 任务创建
 */
require_once __DIR__ . '/bootstrap.php';

use Flc\Queue\Manager;
use Jobs\Demo;

// 创建工作
$demo = new Demo('测试');

// 推送到队列
for ($i = 0; $i <= 100; $i ++) {
    Manager::instance()->push($demo);
}

echo Manager::instance()->count();

consumer

/**
 * 任务执行者(常驻)
 */
require_once __DIR__ . '/bootstrap.php';

use Flc\Queue\Manager;
use Jobs\Demo;

if ('cli' !== php_sapi_name()) {
    die('必须在命令行模式下运行');
}

while (true) {
    // 从队列拉取任务
    $job = Manager::instance()->pull();

    // 如无任务,则休息2秒
    if (! $job) {
        sleep(2);
        continue;
    }

    try {
        call_user_func_array([$job, 'handle'], []);
    } catch (Exception $e) {
        echo $e->getMessage();
    }
}

License

MIT

项目点评 ( 0 )

你可以在登录后,对此项目发表评论

4_float_left_people 4_float_left_close