如何在redis的php resque中定义作业?

时间:2012-10-12 09:18:06

标签: php redis

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

2 个答案:

答案 0 :(得分:2)

2012年10月13日发布的最新版本的PHP-resque已经发生了变化。根据更新日志,“在数组中包装作业参数以提高与ruby resque的兼容性。”

这意味着如果您已升级到PHP-Resque 1.2,您将从$ args [0]访问作业。

答案 1 :(得分: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); 定义工作

每个作业都应该在它自己的类中,并包含一个执行方法。

class My_Job
{
    public function perform()
    {
        // Work work work
        echo $this->args['name'];
    }
}

当作业运行时,类将被实例化,任何参数将被设置为实例化对象上的数组,并且可以通过$ this-> args访问。

作业抛出的任何异常都会导致作业失败 - 请注意这一点,并确保处理不应导致作业失败的异常。