ホームページ > PHPフレームワーク > Laravel > Laravelキューの使い方

Laravelキューの使い方

WBOY
リリース: 2023-05-26 18:38:07
オリジナル
2655 人が閲覧しました

インターネット業界の継続的な発展に伴い、当社の Web サイトはますます複雑になり、アクセス数も増加しています。同時実行性が高い場合、時間のかかる大量のタスクを処理することは非常に困難な作業となり、ビジネスが行き詰まり、ブロックされてしまいます。この問題を解決するために、Laravel は、ユーザーが行き詰まりを感じないよう、一部の非同期タスクや遅延可能なタスクを処理するために使用できるキュー関数を提供します。次に、laravelキューの使い方を学びましょう。

1. キューをインストールします

1. キュー パッケージをインストールします

Laravel では、キューは Laravel キュー ワーク パッケージに配置されます。 package:

composer require inspired/queue

2. キュープロバイダーの追加

Laravel は、データベース、Redis、Beanstalkd などを含む複数のキュー バックエンドをサポートしています。 config/queue.php でキュープロバイダーを設定する必要があります。たとえば、Redis キュー プロバイダーを使用できます:

'connections' => [

'redis' => [
    'driver' => 'redis',
    'connection' => 'default',
    'queue' => 'default',
    'retry_after' => 90,
    'block_for' => null,
],
ログイン後にコピー

],

2. タスクの作成

キューは長時間実行されるタスクを処理するように設計されており、これは任意のタスクまたはコマンドになります。コマンド ラインを使用して、新しいキュー タスクを生成できます。

php Artisan make:job SendEmail

生成されたキュー タスク クラスは app/Jobs ディレクトリに配置され、手動で生成された SendEmail task このクラスは次のような基本クラスです:

namespace AppJobs;

use IlluminateBusQueueable;
use IlluminateContractsQueueShouldQueue;
use IlluminateFoundationBusDispatchable ;
IlluminateQueueInteractsWithQueue を使用;
IlluminateQueueSerializesModels を使用;

クラス SendEmail は ShouldQueue を実装します
{

use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

/**
 * Create a new job instance.
 *
 * @return void
 */
public function __construct()
{
    //
}

/**
 * Execute the job.
 *
 * @return void
 */
public function handle()
{
    //
}
ログイン後にコピー

}

handle() に記述できますメソッド タスクの特定の実装ロジック。

3. タスクをキューにプッシュする

Laravel では、静的メソッド $dispatch() を使用してタスクをキューに追加できます。このメソッドは、コントローラー、ルート、またはその他の場所で次のように使用できます:

use AppJobsSendEmail;

SendEmail::dispatch();

遅延を指定することもできますキューの late() メソッドと onQueue() メソッドを使用してキュー名を指定します。

たとえば、タスクを「emails」という名前のキューにプッシュし、10 秒後に処理します。

SendEmail::dispatch()->onQueue('emails')-> ; late(now()->addSeconds(10));

4. キューの実行

タスクをキューにプッシュしました。次に、キューを実行してタスクを処理する必要があります。 。 Laravel では、Artisan コマンドを使用してキュー プロセッサを開始できます。

php Artisan queue:work

デフォルトでは、キュー プロセッサは "default" という名前のキュー プロバイダを使用します。 「--queue」オプションを使用して、プロセッサ処理用のキューを設定できます。たとえば、メール キューを操作するには、次のようにします。

phpArtisan queue:work --queue=emails

利用可能なすべてのプロセッサを使用してキューを順番に処理したい場合は、次のように指定できます。 「--daemon」オプション。これにより、1 つのプロセッサーが故障した場合でも、プロセッサーの実行は停止されません。

phpArtisan queue:work --daemon

キュー ハンドラーには他にも多くのオプションがあります。 phpArtisan queue:work --help コマンドを使用すると、すべてのオプションと関連情報を表示できます。

5. まとめ

上記はlaravel queueの利用手順ですlaravel queueを利用することで、時間のかかる大量のタスクを簡単に処理できるようになり、処理の効率や応答速度が向上します。アプリケーション。キューの詳細とオプションについて詳しく知りたい場合は、Laravel の公式ドキュメントを参照してください。

以上がLaravelキューの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート