0

我是 redis 的新手,目前我正在为 redis 使用 PHP resque。如何在 php resque 中定义工作?

4

2 回答 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 回答