目次
はじめに
本記事ではLaravel Horizonを用いてQueue/Jobを可視化して開発効率を高める方法をご紹介します。
Laravel Horizonとは
Laravel Horizonとは、Laravelで動作するRedisキューのために作られた、Queueの監視ツールです。Laravel Horizonを使うとジョブのスループットやランタイム、実行の失敗など、キューシステムをわかりやすく簡単に監視することができます。
Laravel Horizonを動かすサンプルソースコード
こちらに本記事のサンプルコードを用意いたしました。わからないところや気になるところがあればぜひご覧ください。
Laravelプロジェクトのセットアップ
本記事は、https://github.com/windii-legend/laravel-supervisor-exampleのプロジェクトを元に進めていきます。こちらのプロジェクトはRedisキューで動作するように設定したサンプルプロジェクトです。こちらの構成については以下の記事にまとめてあるので未読の方はぜひご一読ください!
以下の手順にしたがって、まずはプロジェクトを立ち上げます。
git clone https://github.com/windii-legend/laravel-supervisor-example.git
cd laravel-supervisor-example
docker-compose up -d --build
docker-compose exec app bash ./docker/setup.sh
http://localhost:8000 にアクセスしてみましょう。
こんな画面が表示されるはずです!
以上でプロジェクトのセットアップは終わりです。
Laravel Horizonを導入する
それでは早速Laravel Horizonを導入していきます。
Laravel Horizonのインストール
以下のコマンドでLaravel Horizonをインストールします。
# dockerコンテナに入る
docker-compose exec app bash
cd my-laravel-app
# Composerを使ってLaravel Horizonのインストール
composer require laravel/horizon
Laravel Horizonを立ち上げるにはpcntlを有効化する必要があります。
本プロジェクトでもdocker/php/Dockerfile内に
RUN docker-php-ext-install pcntl
が入っています。以上余談でした^^
Horizonがインストールできたら、次に horizon:install Artisan コマンドを使用して、アセットを公開します。
php artisan horizon:install
失敗したキュー済みのジョブを保存するために使用する、failed_jobsのテーブルを生成しておきましょう。
php artisan queue:failed-table
php artisan migrate
以下の出力がされれば成功です!
Migrating: 2018_12_08_130446_create_failed_jobs_table
Migrated: 2018_12_08_130446_create_failed_jobs_table
この状態でhttp://localhost:8000/horizon にアクセスしてみましょう。以下のような画面が常時されるはずです。
Laravel Horizonの起動
それではLaravel Horizonを起動してみましょう。
php artisan horizon
Horizon started successfully.
この状態で再びhttp://localhost:8000/horizon にアクセスしてみましょう。ステータスがActive になっています!
これでLaravel HorizonによってQueueを監視できるようになりました。美しいダッシュボードでQueueを可視化することで開発効率が格段に上がると思うのでぜひHorizonを導入してみましょう〜。それでは〜?

WINDII

最新記事 by WINDII (全て見る)
- Canvaが最高すぎる。使い方を完全ガイド【チュートリアルあり】 - 2019年5月14日
- 人気急上昇中のLaravelをはじめよう!【徹底解説】 - 2019年4月23日
- Laravelの認可を理解して実装してみよう! - 2019年3月29日
この記事へのコメントはありません。