Docker はキューとタスクのスケジューリングを実現するために Laravel アプリケーションをデプロイします

Docker はキューとタスクのスケジューリングを実現するために Laravel アプリケーションをデプロイします

前回の記事では、Docker を使用して Laravel アプリケーションをデプロイする方法について説明しました。この記事では、キューとタスク スケジューリングを使用して Laravel アプリケーションをデプロイする方法について説明します。

1.まずdocker/app.cronファイルを準備しましょう

ファイルの末尾の空白行は必須であることに注意してください。

#!/usr/bin/env バッシュ
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
* * * * * cd /var/www/html && php artisan schedule:run >> /dev/null 2>&1

2. 新しいエントリファイルを作成する: docker-entrypoint-queue.sh

このファイルには実行権限が必要であることに注意してください。

#!/usr/bin/env バッシュ

php アーティザン キャッシュ:クリア
php artisan config:キャッシュ
php 職人ルート:キャッシュ
php 職人ビュー:キャッシュ

# スケジュールされたタスクをロードし、cronを再起動します
crontab docker/app.cron
/etc/init.d/cron の再起動

# キューを実行 php artisan queue:work --timeout=60

3. 今回はdocker composeを使ってプログラムを実行します: ./docker-compose.yml

バージョン: "3.4"

サービス:
 API:
  建てる: 。
  画像: moorper/example-laravel
  ネットワーク:
   -フロントエンド
   - バックエンド
  環境:
   - APP_ENV=開発
  ポート:
   - 「80:80」
  エントリポイント: ./docker-entrypoint.sh
 列:
  建てる: 。
  画像: moorper/example-laravel
  ネットワーク:
   - バックエンド
  環境:
   - APP_ENV=開発
  エントリポイント: ./docker-script-entrypoint.sh
  
ネットワーク:
 フロントエンド:
 バックエンド:

4. 操作

docker-compose を起動 -d

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Laravel5.6 フレームワーク メール キュー データベース ドライバーの簡単なデモ例
  • Laravel のキュー キューのヒントのまとめ
  • Laravel 6では特定のキュータスクにミドルウェアを設定する機能が追加されます
  • Laravel キューの実装
  • Laravelフレームワークキューの原理と使用法の分析
  • Laravel でキューを取得するには blpop を使用しないのはなぜですか?
  • Laravel Redis で複数のプロセスが同時にキューを取得する問題の詳細な説明
  • Laravel が同じキュータスクを繰り返し実行する理由のソースコード分析
  • Laravelでメッセージキューを使用する際に注意すべきいくつかの問題
  • Laravel でキューを使用してメールを送信する例
  • Laravelキューの実装原理と問題解決レコードについての簡単な説明
  • Laravel5 におけるキューの設定と使用法の簡単な分析
  • PHP の Laravel フレームワークでメッセージ キューと非同期キューを使用する方法
  • Laravel 4.2 でのキュー サービスの使用経験
  • Laravel フレームワークにおけるキューとジョブ操作の詳細な説明

<<:  MySQL 5.7.20 のインストールと設定方法のグラフィック チュートリアル (win10)

>>:  Vueは3階層メニューを再帰的に実装する

推薦する

Dockerを使用してPythonランタイム環境の基本イメージを作成する方法

1. 準備1.1 Pythonインストールパッケージをダウンロードします(注:Pythonバージョン...

Apache Superset を使用して ClickHouse データを視覚化する 2 つの方法

Apache Superset は、データを表示および探索する方法を提供する強力な BI ツールで...

Linuxはlsofコマンドを使用してファイルのオープンステータスを確認します

序文Linux では「すべてがファイル」であることは誰もが知っているので、ファイルのオープン状態を確...

Tomcat メモリ オーバーフロー問題の解決経験

少し前に、製品バージョンをテスト用にテスターに​​提出したのですが、テスト結果はまったく予想外のもの...

Visual Studio Codeを使用してMySqlデータベースに接続し、クエリを実行します。

Visual Studio Code は、Microsoft が開発した強力なテキスト エディター...

Element UI を使用してページにページング ナビゲーション バーを追加する方法

必要ページング バーを追加します。これにより、ページにジャンプしたり、ページ番号に従って特定のページ...

VMWare14.0.0のUbuntu仮想マシンで共有フォルダを設定する

これは私の最初のブログ投稿です。時間の制約があるため、どのようにフォーマットすればよいかわかりません...

Dockerfile を使用して Docker でイメージを構築する方法

イメージを構築するこれまで、テストやデモンストレーションにさまざまなイメージを使用しました。多くの場...

Vueカスタム指示により、ポップアップウィンドウのドラッグ4辺ストレッチと対角ストレッチ効果を実現

導入同社の最近の Vue フロントエンド プロジェクトの要件: ポップアップ ウィンドウのドラッグ、...

Windows で MySQL のルート パスワードを忘れた場合にリセットする方法

私のマシン環境: Windows 2008 R2 MySQL 5.6 Baidu で「Windows...

Windows で MySQL インストーラーを使用して MySQL サービスをインストールするチュートリアル図

MYSQL は、MYSQL サービスやその他のコンポーネントをインストールするためのインストーラ方式...

Apache Tika を使用してファイルが破損しているかどうかを検出する方法

Apache Tika は、さまざまな形式のファイルからファイル タイプを検出し、コンテンツを抽出す...

MYSQL スロークエリとログの例の説明

1. はじめにスロークエリログを有効にすると、MySQL は指定された時間を超えるクエリステートメン...

MySQLのトランザクション特性とレベル原則の分析

1. トランザクションとは何ですか?データベース トランザクション (略称: トランザクション) は...