2016-08-15 2 views
0

最初のジョブが正常に実行された後、別のジョブをキューにプッシュしたいと思います。 ItemPurchased.phpでLaravel 5.2以降のジョブを起動する方法

$this->dispatch(new ItemPurchased($myVariables)); 

:私のShopController.php I火災から

public function handle() 
{ 
    // some code that charges a user's credit card 
} 

どのように私はItemPurchased.phpの成功時に後続のジョブを起動できますか? Laravelのドキュメントから

、あなたがのServiceProviderでこのような何かをするだろう:

{ 
    Queue::after(function (JobProcessed $event) { 
     // $event->connectionName 
     // $event->job 
     // $event->data 
    }); 
} 

しかしItemPurchase.phpがsuccessfulyた後にどのように私は別の仕事を派遣、その後、指定するのですか?ジョブが失敗したときにコードを実行する方法はfailed()です。以前に言及されていないsuccess()メソッドはありますか?

答えて

1

ジョブは、キュードライバを使用してオフラインで実行されます。ただし、ハンドルメソッドが呼び出されると、通常の同期コードの実行に従います。

public function handle() 
{ 
    //Some code here 
    dispatch(new JobClass()); 
} 

だから単にhandleメソッドの終わりにちょうど新しい仕事を解雇します

関連する問題