首頁 >後端開發 >php教程 >Ironmq和Laravel:設置

Ironmq和Laravel:設置

Jennifer Aniston
Jennifer Aniston原創
2025-02-21 08:43:08754瀏覽

IronMQ and Laravel: Setup

>這兩個由laravel的推送隊列用於背景任務的兩部分教程指南初學者,由照片上傳和調整示例說明。 調整圖像大小是耗時的;這種方法通過卸載任務可以防止用戶延遲。我們還將利用Ngrok啟用本地隊列測試。

>

完整的源代碼可在GitHub上找到。 或者,部署到實時服務器進行測試。

鍵概念

  • >本教程演示了使用laravel設置Ironmq,以通過推動隊列處理背景過程(例如圖像調整大小)。 最終應用程序包括一個簡單的照片上傳和調整大小。
  • >設置涉及安裝Laravel,其依賴關係,創建一個Iron.io帳戶,並使用Ngrok將您的本地開發環境公開到Internet上,從而在本地測試期間啟用IronMQ隊列相互作用。
  • >
  • IronMQ簡化了隊列管理。 創建推動隊列需要指定訂戶URL,這是IronMQ可在作業可用時會調用的URL。
  • >教程涵蓋了Laravel內的IronMQ配置,包括隊列和用戶創建以及IronMQ和乾預圖像庫的安裝。 第二部分將詳細說明應用程序開發和工作邏輯實施。

>排隊和Ironmq

>隊列是工作管道。作業按添加的順序進行順序處理。 與拉動隊列不同的是,推送隊列在準備好時會主動通知訂戶,從而消除了不斷進行輪詢的需求。 IronMQ是一項促進此基於推動的排隊系統的服務。創建推動隊列時,您可以定義訂戶URL; IronMQ當作業可用時將作業數據發送到此URL。

>

>更深入地研究各種解決方案的工作隊列和比較,請參閱[本文](link_to_to_article_here-替換為實際鏈接,如果可用)。

>設置和安裝

本節詳細詳細介紹了安裝Laravel,其依賴項,創建Iron.io帳戶和配置Ngrok。

laravel

>安裝作曲家。
  1. 安裝Laravel:
  2. 導航到
  3. >目錄並運行

    。 訪問您的Laravel安裝,以composer create-project laravel/laravel --prefer-dist>。 laravel> php artisan serve http://localhost:8000

    數據庫設置:使用MySQL。使用數據庫憑據創建數據庫並更新
  4. 。運行
  5. app/config/database.php php artisan migrate:install

    修改
  6. (或等效)以顯示確認您的設置的消息。
  7. app/views/welcome.blade.php

    安裝IronMQ和乾預圖像庫:將它們添加到您的
  8. 文件中:
  9. <code class="language-json">"require": {
        "laravel/framework": "^9.0",  // or your Laravel version
        "iron-io/iron_mq": "^1.4",
        "intervention/image": "^2.7"
    },</code>

    >運行composer update。 然後,通過在“干預圖像文檔中記錄”中添加服務提供商和別名來配置干預映像包。 config/app.php

ngrok

>用於使用IronMQ進行本地測試,請使用NGrok將您的本地服務器展示到Internet。

>下載並安裝ngrok。
  1. 運行
  2. (如果您的Laravel服務器使用其他端口,則適當的端口)。 注意轉發網址(例如,
  3. )。該URL將充當您的訂戶URL。 ./ngrok 8000 http://your-ngrok-url.ngrok.io
  4. Ironmq

創建一個Iron.io帳戶和項目。
  1. 從Iron.io儀表板獲取您的項目ID和令牌。

  2. 中配置您的laravel隊列設置:

    >
  3. >添加

    config/queue.php到您的

    > file。
    <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>
    >該部分涵蓋了必要組件的設置和安裝。第二部分將著重於構建應用程序並實施圖像調整大小的作業。
  6. >

>常見問題(FAQS)>(此部分在很大程度上保持不變,因為信息仍然相關。)

(現有的FAQ部分編寫良好且準確;不需要更改。

以上是Ironmq和Laravel:設置的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn