ピックアップ

Laravelのqueueについてのデフォルト設定と基本についての個人的メモ。

Laravelで、

queueを使っていたが、

使い方のみ調べて、

設定して運用していたので、

改めて、

個人用に再確認して、

それを自分のために整理したメモ。

最新情報や、

情報の精査は、

公式サイトなどを正として、

必要に応じて、

そちらをご覧ください。

あくまで、

個人用のメモなので。

前提

Laravelで試していますが、

バージョンについては、

php artisan --version

で確認すると、

概ね、

10か11でした。

Queueとは?

キューについては、

目的としては、

  • 重い処理(メール送信・API 呼び出し等)を非同期化
  • パフォーマンス向上
  • さまざまなキューバックエンドを統一的に扱うため

という認識。

Laravel 8 以降は Job のバッチ処理などが強化された認識で、

自分もそれの少し後くらいから使い始めました。

Queueを動かすコマンドや関数

メインとして

php artisan queue:work

Job(処理内容)

こちらは、

実際に実行されるときに、

どのような処理するかを記載する。

処理の実装は、

  • クラスとして定義し、handle() に処理を書く
  • Job::dispatch() でキューに投入

を実装するので、

app/Jobs

などにまとめる。

Queue Driver(保存先)

Driverについては、

  • sync
  • Redis
  • Database
  • Amazon SQS

などが設定できますが、

デフォルトは、

config/queue.php

に設定があり、

'default' => env('QUEUE_CONNECTION', 'sync'),

であるので、

ここで設定変更できる。

Worker(実行役)

Workerに関しては、

  • キューから Job を取り出して順次実行
  • 成功→削除、失敗→リトライ or Failed Jobs

を行うもの。

これは、

php artisan queue:work

で動かす認識。

ピックアップ

おすすめ書籍

コメント一覧

コメントはまだありません。

コメント送信

コメントを残す

広告

おすすめ記事