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階層メニューを再帰的に実装する

推薦する

MySQL の効率的なクエリの左結合とグループ化 (プラス インデックス)

mysql 効率的なクエリMySQL は、左結合の速度を上げるために group by を犠牲にし...

クラウドネイティブテクノロジーKubernetesスケジューリングユニットポッドの使用の詳細な説明

k8s の最小のスケジューリング単位 --- pod前回の記事では、k8s が解決できる問題を簡単に...

Linux インストール MongoDB の起動と一般的な問題の解決

MongoDB のインストール プロセスと問題記録1. MongoDBのインストールMongoDBを...

MySQL 完全崩壊: クエリフィルタ条件の詳細な説明

概要実際のビジネス シナリオ アプリケーションでは、ビジネス条件に基づいて対象データを取得およびフィ...

HTMLリンクを書くときは、HTTPリクエストを減らすためにサブフォルダに必ずスラッシュを追加してください。

サブフォルダーの末尾にスラッシュがない場合、2 つの HTTP リクエストが生成され、効率に影響しま...

CSS スタイルを HTML 外部スタイルシートにインポートする方法

リンクインスタイルとは、すべてのスタイルを 1 つ以上の外部スタイルシート ファイルに配置することで...

Dreamweaver で Zen コーディングを使用する方法

前回の記事「Zen Coding: HTML/CSS コードを素早く記述する方法」を公開した後、一部...

Vue で eslint 検出をオフにする方法 (複数の方法)

目次1. 問題の説明2. 問題解決1. 問題の説明Vue プロジェクトを開発する場合、作成時に誤って...

jQuery における Ajax の関連知識ポイントのまとめ

序文JavaScriptを学ぶ学生は、 AJAX (非同期JavaScriptとxml) 変換は非同...

mysql サブクエリと結合テーブルの詳細

目次1. サブクエリとは何ですか? 2. 自己結合3. 自然な結合4. 外部接続1. サブクエリとは...

Dockerサーバーのストレージリソースプール不足問題の解決

目次1. 問題の説明2. 問題分析3. 問題解決1. Dockerのディスク使用量を確認する2. 再...

CSS background-blend-modeの仕組みを深く理解する

この記事は共有および集約することを歓迎します。全文を転載する必要はありません。著作権を尊重してくださ...

Vue パッケージサイズの最適化の実装 (1.72M から 94K)

1. 背景最近、独立した開発者がUIデザインを行うのを支援するために、uideaというWebサイト...

Vue における LocalStorage と SessionStorage の違いと使い方

目次LocalStorageとはSessionStorageとはLocalStorage と Ses...

docker コマンド例外「権限が拒否されました」の解決方法

Linuxシステムでは、dockerを新しくインストールし、次のようなコマンドを入力します。dock...