2015-12-09 3 views
8

私はLaravel 5で企業や関連レコードを削除するように設定しました。これが起こるたびに、バックエンドで多くの作業が行われるため、キューが最良の選択肢です。キュー内のジョブが処理されない原因を教えてください。 [PHP/Laravel 5]

私の.envファイルと一緒にconfig/queue.phpファイルを設定して、databaseドライバを使用するようにしました。 Queue::pushOnメソッドを使用して、ジョブをcompany_deletionsというキューにプッシュします。 Ex。上記のコマンドの出力を見たときに時々

php artisan queue:work 
php artisan queue:work company_deletions 
php artisan queue:listen 
php artisan queue:listen company_deletions 
php artisan queue:work database 
php artisan queue:listen database 

CompanyDelete

Queue::pushOn('company_deletions', new CompanyDelete($id)); 

は、私は次のコマンドを使用して処理するために、私のキューを取得しようとしていphp artisan command:make CompanyDelete --queued

で作成したコマンドです次のエラーが表示されます。

[InvalidArgumentException] 
No connector for [] 

エラーが発生しなくても何らかの理由で実際にジョブを処理することができません。 jobsテーブルを見ると、キューにジョブが表示されますが、attemptsの列には0が表示され、reservedには0が表示され、reserved_atにはNULLが表示されます。私はいくつかのステップを欠いていますか?私はドキュメンテーションを何度も見てきましたが、私の人生にとって何が間違っているのか理解できません。私はlaravelエラーログにも何も表示されません。 jobsデータベースに入ってからこれらのジョブが処理されないようにするにはどうすればよいでしょうか?どんな助けもありがとうございます。

+4

'config/queue.php'を公開する必要があります。 – magnetik

+0

ログをチェックして、エラーがないかどうか確認してくださいそう... – musicvicious

+0

laravelが処理に失敗した場合、ログに記録することができ、デバッグに役立つかもしれません。 More -https://laravel.com/docs/5.0/queues#failed-jobs – user269867

答えて

1

私は、デフォルトのキュー内のジョブを追加していけないので、私は、私は特定のキューに耳を傾ける必要があり

 $job = (new EmailJob(
      $this->a, 
      $this->b, 
      $this->c, 
      $this->d, 
      $e 
     ))->onQueue('emails'); 

.. smiliar問題が発生した:

php artisan queue:listen --queue=emails 

あなたのケースでそれを

php artisan queue:listen --queue=company_deletions 
関連する問題