コードからキューに入れられたLaravelArtisanコマンドを遅らせる

サミール

LaravelアプリのコントローラーからArtisanコマンドを実行しています。ドキュメントで指定されているように、次のようにキューに入れることができます。

Artisan::queue('email:send', [
    'user' => 1, '--queue' => 'default'
]);

これによりキューロジックが処理され、私の場合、ジョブがRedisに送信され、そこでほぼ即座に処理されます。

仕事を遅らせたい。通常、次のようにキューコマンドを呼び出すときにこれを行うことができます

$job = (new SendReminderEmail($user))->delay(60);

$this->dispatch($job);

これらの機能に参加して、Artisanコマンドを5分間遅らせる方法はありますか?私はそれを遅らせる簡単なオプションがあると思いました。

そうでない場合は、コントローラーとArtisanコマンドの間に立つ別のJobクラスを作成し、通常の方法でキューに入れて遅延させ、そのJobにArtisanコマンドを呼び出させることができます。しかし、これはそれを機能させるための本当に複雑な方法のようです。キューに入れられたArtisanコマンドを遅らせるより良い方法はありますか?

ありがとうございました

ジャッコモ

コンソールカーネルは「プッシュ」を使用してコマンドをキューに入れるため、これはlaravel5.3以前では不可能です。

ただし、フレームワークにプルリクエストを送信して、カーネルに「後の」呼び出しを実装することもできます。これは、キューの「後の」関数にパススルーするだけです。

または、すでに述べたように、ジョブクラスを実装するだけです。

しかし、ユースケースにはより良い解決策があります。メールファサードを使用するだけです。

Mail::later(5, 'emails.welcome', $data, function ($message) {
    //
});

ドキュメントについては、https://laravel.com/docs/5.2/mail#queueing-mail参照してください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

コマンドラインからメッセージを MQ キューに入れる

分類Dev

キューに入れられたビルドのコントローラーを変更する方法

分類Dev

Metal Compute - すでにキューに入れられているコマンド バッファをキューに入れる

分類Dev

クリップボードから貼り付けられたVimコマンドは、コマンドを実行する代わりに挿入します

分類Dev

Laravelはキューに入れられたジョブコードを変更できません

分類Dev

このコマンドに端末の標準入力からパスワードを読み取らせるにはどうすればよいですか?

分類Dev

Djangoの辞書に保存されているコードからヒューマンテキストを取得するための最良の方法

分類Dev

コマンドラインからマウントされたボリュームにアクセスする

分類Dev

コマンドラインからマウントされたボリュームにアクセスする

分類Dev

コマンドラインからHTMLドキュメントをプレビューするにはどうすればよいですか?

分類Dev

「up」キーを作成して、履歴から入力済みのコマンドを完了させ、入力済みの部分を含むコマンドを選択しないようにするにはどうすればよいですか?

分類Dev

ユーザーが画面に触れた後にコードの実行を遅らせる方法

分類Dev

PHPの最後または最初ではなくmysqlから取り出されたレコードの間にコンマを入れる方法

分類Dev

Angularを使用して、入力フィールドの文字列からプレーンテキストにエンコードされたHTMLを隠蔽する

分類Dev

テンプレートを使用してキューに入れられるマンドリルAPIメール

分類Dev

Twilio SMSがキューに入れられましたが、配信されませんでした。エラーコード:30005を取得しています。

分類Dev

キューに入れられたバックグラウンドワークアイテムの遅延

分類Dev

Wordドキュメントの内容をExcelVBAから新しく作成されたWordドキュメントにコピーする

分類Dev

AutoHotKeyで送信コマンドを遅らせるにはどうすればよいですか?

分類Dev

コマンドの実行を遅らせるにはどうすればよいですか?

分類Dev

生成されたクラスにXMLスキーマドキュメントからのJavadocを含める方法

分類Dev

Svelteのコンポーネントからロードされた入力フィールドに焦点を合わせる方法は?

分類Dev

'revert'または 'rebase'コマンドを使用せずにマスターからコミットを削除するにはどうすればよいですか?

分類Dev

Pythonコードを遅らせる方法

分類Dev

キーボードから入力したコマンドでexecを使用する

分類Dev

sshトンネルで実行されたコマンドからリターンコードを取得する

分類Dev

Pythonでコマンドラインから渡されたjson引数をデコードできません

分類Dev

正確な結果を得るために、スクリプトからハードコードされた遅延を開始できません

分類Dev

あるテーブルから別のテーブルにレコードを挿入してから、挿入されたレコードを削除します

Related 関連記事

  1. 1

    コマンドラインからメッセージを MQ キューに入れる

  2. 2

    キューに入れられたビルドのコントローラーを変更する方法

  3. 3

    Metal Compute - すでにキューに入れられているコマンド バッファをキューに入れる

  4. 4

    クリップボードから貼り付けられたVimコマンドは、コマンドを実行する代わりに挿入します

  5. 5

    Laravelはキューに入れられたジョブコードを変更できません

  6. 6

    このコマンドに端末の標準入力からパスワードを読み取らせるにはどうすればよいですか?

  7. 7

    Djangoの辞書に保存されているコードからヒューマンテキストを取得するための最良の方法

  8. 8

    コマンドラインからマウントされたボリュームにアクセスする

  9. 9

    コマンドラインからマウントされたボリュームにアクセスする

  10. 10

    コマンドラインからHTMLドキュメントをプレビューするにはどうすればよいですか?

  11. 11

    「up」キーを作成して、履歴から入力済みのコマンドを完了させ、入力済みの部分を含むコマンドを選択しないようにするにはどうすればよいですか?

  12. 12

    ユーザーが画面に触れた後にコードの実行を遅らせる方法

  13. 13

    PHPの最後または最初ではなくmysqlから取り出されたレコードの間にコンマを入れる方法

  14. 14

    Angularを使用して、入力フィールドの文字列からプレーンテキストにエンコードされたHTMLを隠蔽する

  15. 15

    テンプレートを使用してキューに入れられるマンドリルAPIメール

  16. 16

    Twilio SMSがキューに入れられましたが、配信されませんでした。エラーコード:30005を取得しています。

  17. 17

    キューに入れられたバックグラウンドワークアイテムの遅延

  18. 18

    Wordドキュメントの内容をExcelVBAから新しく作成されたWordドキュメントにコピーする

  19. 19

    AutoHotKeyで送信コマンドを遅らせるにはどうすればよいですか?

  20. 20

    コマンドの実行を遅らせるにはどうすればよいですか?

  21. 21

    生成されたクラスにXMLスキーマドキュメントからのJavadocを含める方法

  22. 22

    Svelteのコンポーネントからロードされた入力フィールドに焦点を合わせる方法は?

  23. 23

    'revert'または 'rebase'コマンドを使用せずにマスターからコミットを削除するにはどうすればよいですか?

  24. 24

    Pythonコードを遅らせる方法

  25. 25

    キーボードから入力したコマンドでexecを使用する

  26. 26

    sshトンネルで実行されたコマンドからリターンコードを取得する

  27. 27

    Pythonでコマンドラインから渡されたjson引数をデコードできません

  28. 28

    正確な結果を得るために、スクリプトからハードコードされた遅延を開始できません

  29. 29

    あるテーブルから別のテーブルにレコードを挿入してから、挿入されたレコードを削除します

ホットタグ

アーカイブ