2017-06-08 10 views
1

内でのx分のコントローラメソッドのすべてのお支払いの詳細は、フォーマットのために検証されたら、Laravel -trigger私のコントローラメソッド、</p> <p>でコード

我々は支払いを開始します。

ここで、この(他の)支払いの開始時に、支払いが完了したかどうかを確認するパラメータ(支払いゲートウェイトークン)を使用して15分以内にコントローラコールをスケジュールする必要があります。

これで、毎分cronを使用して、15分前の支払いを確認できます。しかし、1回の予定通話を実行すると、毎分無期限にcronを実行するよりも、システムにかかる労力と労力が少なくなります。

私は、キューイングやタスクスケジューリングのようなlaravelのオプションを調べました。しかし、1分の呼び出し(タスクスケジューリング)やキューイング(x分)はありません。

同じ要件のために、私が紛失しているものか、laravelの機能がありますか?

+0

スケジュールタスクの問題は何ごとに15分間のドキュメントをチェックアウトすることができますか? –

+0

あなたのケースでは...スケジュールされたタスクが午前10時に実行されたとすると、私は午前10時10分に支払いP1を行いました。今、次のスケジュールされたタスクは、午前10時15分に実行されましたが、P1を選択できませんでした(P1の15分の時間がまだ経過していないため)。 10:30の次のスケジュールされたタスクが実行され、P1が選択されます。そして、P1は開始状態にあったので20分になります。目的を解決しない – zeetit

+1

支払が完了した後にあなたの関数を呼び出すこともできますし、いくつかのコードを貼り付けてください – Rahul

答えて

2

私は個人的に、あなたがこのようなあなたのコントローラメソッドに呼んで、ValidatePaymentJobを作成します。

public function validatePaymentDetails() 
{ 

    //Logic for validation the payment details goes up here 

    dispatch(new ValidatePaymentJob($all, $needed, $parameters)) 
     ->delay(Carbon::now()->addMinutes(x)); 
} 

支払いが成功したかどう次に、あなたのValidatePaymentJobにあなたがチェックするために、お支払いプロバイダに電話をかけることができます。トランザクションオブジェクトを渡して、succeededプロパティをtrueに設定することもできます。

あなたはジョブズhere

関連する問題