我是 redis 的新手,目前我正在为 redis 使用 PHP resque。如何在 php resque 中定义工作?
问问题
512 次
2 回答
2
这在 2012 年 10 月 13 日发布的最新版本的 PHP-resque 中发生了变化。根据更改日志,“将作业参数包装在一个数组中以提高与 ruby resque 的兼容性。”
which means if you've upgraded to PHP-Resque 1.2 you will access jobs from $args[0].
于 2012-10-26T16:43:17.867 回答
0
排队作业
作业排队如下:
require_once 'lib/Resque.php';
// Required if redis is located elsewhere
Resque::setBackend('localhost:6379');
$args = array(
'name' => 'Chris'
);
Resque::enqueue('default', 'My_Job', $args); 定义工作
每个作业都应该在它自己的类中,并包含一个 perform 方法。
class My_Job
{
public function perform()
{
// Work work work
echo $this->args['name'];
}
}
当作业运行时,该类将被实例化,并且任何参数都将设置为实例化对象上的数组,并可通过 $this->args 访问。
作业引发的任何异常都将导致作业失败 - 在此要小心,并确保处理不应导致作业失败的异常。
于 2012-10-12T09:19:46.390 回答