私はphp-resqueでバックグラウンドジョブを作ろうとしています。私はこのコードを持っています:
\Resque::setBackend('127.0.0.1:6379');
\Resque::enqueue('default', '\BaseModule\Jobs\Mail', array());
そしてMailクラスで私はこれを持っています
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」から、ジョブは処理されたと思いますが、実行関数に誤りがあり、実行関数が実行されないなど、エラーが書き込まれません。
実行機能でデータベースに挿入しても、何もしません。
誰が知っていますか、どこに問題がありますか? perform 関数が実行されていないように見えるのはなぜですか?