m15*_*150 14 php redis php-resque
我正在尝试使用php-resque进行后台工作.我有这个代码:
\Resque::setBackend('127.0.0.1:6379');
\Resque::enqueue('default', '\BaseModule\Jobs\Mail', array());
Run Code Online (Sandbox Code Playgroud)
在邮件类我有这个
class Mail
{
public function perform()
{
lakdf;
}
}
Run Code Online (Sandbox Code Playgroud)
关于"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"
Run Code Online (Sandbox Code Playgroud)
所以从"reque:stat:processed"我认为,我的工作已被处理,但是在执行函数中存在错误并且它没有写任何错误,就像执行函数永远不会执行一样.
即使我在执行函数中对数据库进行了一些插入,它也什么都不做.
有谁知道,哪里有问题?为什么执行功能似乎没有被执行?
小智 1
PHP 会假设
lakdf;
Run Code Online (Sandbox Code Playgroud)
是:
$lakdf;
Run Code Online (Sandbox Code Playgroud)
因此,如果您确实希望抛出错误,则可以通过将该行替换为以下内容来强制抛出错误:
error_log("I am throwing an error from within the Mail::perform function");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
515 次 |
| 最近记录: |