【Laravel】非同期処理の使用方法! 俺用メモ

どうもきよです!

今回はLaravelの非同期処理について簡単にメモしていきます。

開発していると、どうしても時間がかかってしまう処理ってありますよね。

同期処理で時間がかかってしまうと使用者の待ち時間が発生してしまうため、

あまりよくありません。

なので、そんなときは非同期処理を使ってみてもいいかもしれません。

簡単に使用できるので、ぜひお試しください。

(データベース用の手順です)

■参考サイト
Laravelで非同期実行する


Laravel公式サイト

スポンサーリンク




1.テーブル作成

・Jobテーブルマイグレーション作成

・Job失敗テーブルマイグレーション作成

・テーブルを作成

※実行していないマイグレーションがすべて実行されます。

2.envファイルの修正

・デフォルトでは「sync」になっているので、「database」に修正

3.Jobファイルを作成

・非同期で動かす処理を記述するファイル作成

※「sampleJob」は作成したいファイル名です

※プロジェクト/app/Jobs/SampleJob.php が出来上がります

4.Jobの起動方法

・サーバーで下記を実行する

※作成したjobsテーブルを監視してくれます。jobが登録されていると処理してくれます。

※起動したjobが成功すると、jobsテーブルのjob(レコード)を削除してくれます。

※起動したjobが失敗すると、failed_jobsテーブルにjob(レコード)を登録してくれます。

・バックグラウンド実行

※公式では、「Supervisor」を使った方法が記載されておりますので、そちらもご確認ください。

5.Jobの登録方法

・コントローラーなど処理内で、下記を記述する。

※::dispatch()のカッコ内は引数を渡します。

※dispatchをすることで、jobsテーブルにjobを登録できます。

6.失敗したJobの対応方法

・ID=2のジョブを再実行する場合

・失敗したジョブを全て再実行する場合

・ID=2のジョブを削除する場合

・失敗したジョブをすべて削除する場合

以上、よろしくお願いいたします。

スポンサーリンク




シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク




%d人のブロガーが「いいね」をつけました。