近年、Laravel フレームワークの人気が高まっており、遅延キューはその重要な機能の 1 つです。遅延キューは、開発者が非同期タスクを簡単に管理し、アプリケーションのパフォーマンスと保守性を大幅に向上させるのに役立ちます。いくつかの特殊なケースでは、特定のプロジェクトのニーズを満たすために、Laravel 遅延キューのいくつかのデフォルト値を変更する必要があります。この記事では、Laravelの遅延キューのパラメータを変更する方法を紹介します。
Laravel の遅延キューは、主に Redis またはデータベースを使用して実装されます。 Laravel 設定ファイル (config/queue.php) で、キューのデフォルト設定を確認できます。たとえば、Laravel の遅延キューのデフォルトのタイムアウトは 60 秒 (デフォルト値は timeout 属性で設定されます)、再試行回数のデフォルト設定は 3 (デフォルト値は Trys 属性で設定されます) です。タスク処理がタイムアウトまたは失敗すると、Laravel は自動的にタスクを次の遅延キューに追加し、タスクの優先度を下げます。デフォルト設定を変更することでこれらの値を変更できますが、これらの設定はすでに動作しているキューには適用されません。したがって、キューの実行中に変更する必要があります。
まず、キュー リスナー (queue:work) を開く必要があります。キュー リスナーを開くときは、artisan コマンド ラインを使用してワーカーの名前を指定する必要があります。たとえば、command_name パラメーターを使用してワーカーに次のように名前を付けます。
php artisan queue:work --command_name=worker1
ワーカーのデフォルト名は「default」です。コマンド ラインでワーカー名を指定する利点は、後続のコードでワーカーを簡単に識別できることです。
次に、新しいワーカー クラスをプロジェクトに追加する必要があります。次のコマンドを実行して、app/Jobs ディレクトリに新しいワーカー クラスを作成できます。
php artisan make:job MyCustomWorker
次に、MyCustomWorker クラスのハンドル メソッドにカスタム ロジックを追加できます。たとえば、遅延時間をデフォルトの 60 秒から 120 秒に変更する場合は、ハンドル メソッドに次のコードを追加できます。
public function handle() { $this->delay(120); // your custom code goes here }
この遅延メソッドは、タスクの遅延時間を 120 秒に変更します。 . デフォルトの遅延を上書きします。ハンドル メソッド内の他のコードは、指定された遅延の後に実行されます。
ワーカー クラスでタスクの再試行回数を変更することもできます。たとえば、再試行回数をデフォルトの 3 回から 5 回に変更する場合は、MyCustomWorker クラスに次のコードを追加できます。
public function handle() { $this->tries(5); // your custom code goes here }
この Trys メソッドは、タスクを 5 回に設定して、デフォルトの再試行回数をオーバーライドします。ハンドル メソッド内の他のコードは、タスクが失敗した後、指定された回数だけ自動的に再試行します。
上記の手順により、Laravel プロジェクトの遅延キューのいくつかのデフォルトパラメーターを変更できます。このアプローチは、特定のプロジェクトのニーズに基づいてカスタマイズされた方法で非同期タスクを管理し、アプリケーションのパフォーマンスと保守性を向上させるのに役立ちます。
以上がLaravelで遅延キューを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。