本日は、Laravel Redis キューに美しいダッシュボードとコード駆動の構成システムを提供する Laravel Horizon を発表できることを誇りに思います。 。
新しいコード駆動の構成システムに加えて、Horizon には美しいダッシュボード UI もあります。これは完全にオープンソースであり、Laravel コミュニティ全体に無料です。明日テスト バージョンをリリースします ## #、気に入っていただけると幸いです。
翻訳者注: 2019 年 10 月の時点で、Horizon はバージョン 3.4.1ダッシュボード Horizon ダッシュボードは、シンプルな
composer require laravel/horizon を介して既存のアプリケーションに直接インストールできる、美しい単一ページの Vue アプリケーションです。キューに入れられたワークロード、最近のジョブ、失敗したジョブ、ジョブの再試行、スループットとランタイムのメトリクス、プロセス数に関するリアルタイムの洞察を提供します。
Horizon::auth に登録された単純なコールバックを通じてダッシュボード認証を制御し、ダッシュボードへのアクセスを完全に制御できるようにします。
config/horizon.php ファイルでは、作成するプロセスの数、処理されるキュー、キューのタイムアウト、および
queue に渡す必要があるその他の設定を構成します。 work 職人のコマンド。
phpArtisan Horizon を実行するだけです。他のコマンド ライン オプションは必要ありません。このコマンドは、Horizon 構成を読み取り、必要なすべてのワーカー プロセスを構成します。
queue:retry と入力して、再試行が正常に完了したか、再度失敗したかを判断する必要はなくなりました。タグ監視
電子メール
、ブロードキャスト 、
通知 、
キューに入れられたリスナー## などのタスクにタグを割り当てることができます。 #。実際、Horizon は、キューにアタッチされた Eloquent モデルに基づいて、ほとんどのタスクにインテリジェントにタグを付けます。 これらのタグを使用してキュー タスクを簡単に検索し、プログラム内の特定の顧客タスクや他のキュー タスクを表示できます。この機能を使用すると、価値の高い顧客に素早く焦点を当てたり、サポート チケットを送信したばかりの顧客の失敗したタスクを見つけることができます。
バランシング
default キューが空でも、
notifications キューがキュー タスクでいっぱいの場合、Horizon は notifications
から default# にタスクを自動的に割り当てることができます。 ##キューを使用すると、これらのタスクを迅速に処理できます。
キューが追いついた後、Horizon はタスクがすべてのキューに公平に再分散されるようにします。
メトリック チャート
Horizon はスループットと平均実行時間のグラフを提供し、個々のタスクまたはフリート全体のスループットと実行時間の傾向を表示できます。これらのメトリクスのスナップショットは、
horizon:snapshot コマンドを使用してキャプチャされ、Laravel の組み込みタスク スケジューラを使用して毎分実行するように設定できます。これにより、展開後のパフォーマンスの低下を迅速に発見できます。 通知
キューの 1 つが特定の負荷に達すると、Horizon は Slack 通知と SMS 通知の両方を送信します。待機時間のしきい値を簡単に構成して、通知をいつ送信するかを決定できます。これは、キューにさらにプロセスが必要になる時期を常に把握できることを意味します。通知を受けると、Horizon のコード駆動型構成により、構成を迅速に変更してプロセスを追加できるようになります。
結論と感謝
Horizon の設計と開発に貢献した Mohamed Said 氏、David Hemphill 氏、Steve Schoger 氏に特別な感謝の意を表したいと思います。 Steve がユーザー インターフェイスをデザインし、David Hemphill がインターフェイスを Vue アプリケーションとして実装し、Mohamed がフロントエンドを私が実装した Horizon バックエンドに接続しました。