PHP-Resque用法
PHP-Resque是PHP对Resque的扩展库,可以使PHP也能进行使用Resque,Resque是基于Redis开发的后台进程系统,相较其它的Queue系统, Resque的设计是非常简洁,充分利用Redis的特性。
一、安装 php-resque
进入项目根目录,composer 安装 php-resquecomposer require chrisboulton/php-resque
二、常用方法
1、连接 redis// setBackend($server, $database = 0)
Resque::setBackend('127.0.0.1:6379');
2、向队列中添加工作// enqueue($queue, $class, $args = null, $trackStatus = false)
$token = Resque::enqueue('default', 'My_Job', ['name'=>'test'], true);
3、查看工作状态$status = (new Resque_Job_Status($token))->get();
4、停止(移除)工作(new Resque_Job_Status($token))->stop();
三、常驻任务处理队列(示例:worker.php)// 处理 default 队列;也可以填 *,代表所有队列
$worker = new Resque_Worker('default');
// LOG_NONE 不写日志, LOG_NORMAL 普通,LOG_VERBOSE 详细
$worker->logLevel = Resque_Worker::LOG_VERBOSE;
// 队列处理时间间隔,单位:秒
$worker->work(5);注:worker.php 要以命令行的方法执行,并长驻后台,/usr/local/php/bin/php /xxx/xxx/worker.php
四、处理工作的类class My_Job
{
/**
* 前置操作
* @return void
*/
public function setUp()
{
// ... Set up environment for this job
}
/**
* 消费队列
* @return void
*/
public function perform()
{
// execute a job
}
/**
* 后置操作
* @return void
*/
public function tearDown()
{
// ... Remove environment for this job
}
}
推荐教程:《PHP教程》