IronmqとLaravel:セットアップ

Jennifer Aniston
Jennifer Anistonオリジナル
2025-02-21 08:43:08754ブラウズ

IronMQ and Laravel: Setup

この2部構成のチュートリアルは、写真のアップロードとサイズ変更の例で示されているバックグラウンドタスクにLaravelを使用してプッシュキューを使用することについて初心者をガイドします。 画像の変更は時間がかかります。このアプローチは、タスクをオフロードすることにより、ユーザーの遅延を防ぎます。また、NGROKを活用して、ローカルキューテストを有効にします

完全なソースコードはGitHubで利用できます。 または、テスト用にライブサーバーに展開します

重要な概念

このチュートリアルは、プッシュキューを介して背景プロセス(画像のサイズ変更など)を処理するためにLaravelを使用してIronMQをセットアップすることを示しています。 最終アプリケーションには、簡単な写真のアップロードとサイズのフォームが含まれています。 セットアップでは、Laravel、その依存関係のインストール、Iron.ioアカウントの作成、およびNGROKを使用してローカル開発環境をインターネットにさらし、ローカルテスト中にIronMQキューインタラクションを可能にします。

IronMQはキュー管理を簡素化します。 プッシュキューを作成するには、サブスクライバーURLを指定する必要があります。これは、ジョブが利用可能なときにIRONMQが呼び出すURLです。
    チュートリアルでは、キューとサブスクライバーの作成、IronMQおよび介入画像ライブラリの設置を含むLaravel内のIronMQ構成をカバーしています。 パート2では、アプリケーションの開発とジョブロジックの実装を詳しく説明します。
  • キューとIronmq キューはジョブパイプラインです。ジョブは、追加された順序で順番に処理されます。 プルキューとは異なり、キューをプッシュすると、ジョブの準備ができたらサブスクライバーに積極的に通知し、絶え間ないポーリングの必要性を排除します。 IronMQは、このプッシュベースのキューイングシステムを促進するサービスです。プッシュキューを作成するとき、サブスクライバーURLを定義します。 IronMQは、ジョブが利用可能になったときにこのURLにジョブデータを送信します。
  • ジョブキューとさまざまなソリューションの比較をより深く掘り下げるには、[この記事](link_to_article_here-利用可能な場合は実際のリンクに置き換えます)を参照してください。
  • のセットアップとインストール
このセクションでは、Laravelのインストール、その依存関係、Iron.ioアカウントの作成、ngrokの構成の詳細。

laravel

コンポーザーをインストールします。

LARAVEL:

をインストールします

ディレクトリに移動して実行

を実行します。 Laravelのインストールに

データベースのセットアップ:MySQLを使用します。データベースを作成し、データベースの資格情報を使用して
    を更新します。実行
  1. (または同等)を変更して、セットアップを確認するメッセージを表示します。 composer create-project laravel/laravel --prefer-dist laravel php artisan serveIronmqと介入画像ライブラリをインストール:http://localhost:8000ファイルに追加:

    <code class="language-json">"require": {
        "laravel/framework": "^9.0",  // or your Laravel version
        "iron-io/iron_mq": "^1.4",
        "intervention/image": "^2.7"
    },</code>

    runcomposer update。 次に、介入画像ドキュメントでドキュメントされているようにサービスプロバイダーとエイリアスを追加して、介入画像パッケージをconfig/app.phpで構成します。

ngrok

IRONMQを使用したローカルテストの場合、ngrokを使用してローカルサーバーをインターネットに公開します。

ngrok。
    をダウンロードしてインストールします
  1. run
  2. (または、Laravelサーバーが別のポートを使用する場合は適切なポート)。 転送URLに注意してください(例えば
  3. )。このURLは、サブスクライバーURLとして機能します ./ngrok 8000 http://your-ngrok-url.ngrok.io
  4. Ironmq

    Iron.ioアカウントとプロジェクトを作成します

      Iron.ioダッシュボードからプロジェクトIDとトークンを取得します。
    1. でLaravelキュー設定を構成します

    2. および
    3. ファイルに追加します。config/queue.php

      <code class="language-php">'iron' => [
          'driver' => 'iron',
          'project' => env('IRON_PROJECT_ID'),
          'token' => env('IRON_TOKEN'),
          'queue' => 'laravel',
      ],</code>

      職人コマンドを使用してプッシュキューサブスクライバーを作成します:IRON_PROJECT_ID IRON_TOKEN .env

      をngrok転送urlに置き換えます。
    4. 次のルートを
      <code class="language-bash">php artisan queue:subscribe laravel http://your-ngrok-url.ngrok.io/queue/receive</code>

      に追加します http://your-ngrok-url.ngrok.io

    5. 結論(パート1)routes/web.php

      <code class="language-php">Route::post('queue/receive', function () {
          return Queue::marshal();
      });</code>
      この部品は、必要なコンポーネントのセットアップとインストールをカバーしています。パート2では、アプリケーションの構築と画像のサイズ変更ジョブの実装に焦点を当てます。
    よくある質問(FAQ)

    (このセクションはまだ関連性があるため、ほとんど変わらないままです。)

    (既存のFAQセクションは十分に書かれていて正確です。変更は必要ありません。)

以上がIronmqとLaravel:セットアップの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。