【发布时间】:2014-01-05 05:23:34
【问题描述】:
我正在尝试使用 php-resque 进行后台作业。我有这个代码:
\Resque::setBackend('127.0.0.1:6379');
\Resque::enqueue('default', '\BaseModule\Jobs\Mail', array());
在邮件类我有这个
class Mail
{
public function perform()
{
lakdf;
}
}
关于“lakdf;”的错误是特意来的。
当我在我的 redis 上打开监视器并尝试执行作业时,它会这样写:
1387283121.312817 [0 127.0.0.1:32827] "set" "resque:worker:michal-pc:9622:default" "{\"queue\":\"default\",\"run_at\":\"Tue Dec 17 12:25:21 UTC 2013\",\"payload\":{\"class\":\"\\\\BaseModule\\\\Jobs\\\\Mail\",\"args\":[[]],\"id\":\"c7c64e218bc951018c2a264eaf5a4b9a\"}}"
1387283121.313312 [0 127.0.0.1:32827] "incrby" "resque:stat:processed" "1"
所以从“reque:stat:processed”中我认为,我的工作已被处理,但是执行函数有一个错误,它没有写任何错误,就像永远不会执行执行函数一样。
即使我在执行函数中对数据库进行了一些插入,它也不会执行任何操作。
有谁知道,问题出在哪里?为什么执行函数似乎没有执行?
【问题讨论】:
-
你使用的是什么版本的 PHPResque?
-
我很清楚您的 PHP 函数不支持此功能或缺少模块。请给我们你的版本。
标签: php redis php-resque