1

我正在尋找一種將藍色調度程序或Web作業鏈接到Laravel時間表的方法。Azure WebApp上的Laravel時間表

我的理解是,爲了建立一個Azure時間表,我需要一個端點來鏈接到我的Laravel,我不知道該如何實現。

回答

7

TL; DR

可以使用的WebApp下WebJobs與命令行腳本觸發Laravel調度。

全部參考

天青提供商WebJobs能觸發各種觸發器,其中包括類似cron調度。爲了運行Laravel調度程序,您需要每分鐘觸發一次schedule:run命令。現在我會假設工匠居住在D:\home\site\wwwroot\artisan這是基於PHP的部署的默認位置。

  1. 創建一個名爲runsched.cmd或任何其他ALS只要它具有.cmd擴展新的文件。編輯文件用記事本,並添加:

    php %HOME%\site\wwwroot\artisan schedule:run

    保存文件,然後轉到Azure portal

  2. 選擇Web應用程序,並找到WebJobs下應用程序設置。點擊添加,將出現一個側面板。

  3. 給這個WebJob一個,例如LaravelSchulder上傳runsched.cmd文件從第一步。

  4. 類型觸發並確保觸發器設置爲計劃

  5. 現在您可以指定必須觸發命令的頻率。即使是門戶網站說'CRON Expression' cron格式爲不是與Linux符號相同。如果您將表達式設置爲所有星號(如Laravel文檔中所示),那麼您的命令將每隔觸發,對於大多數應用程序來說,這種情況經常發生。正確的cron表達式是:

    0 * * * * *

  6. 如果你工作看起來像這樣單擊確定。

Azure WebJob Laravel Schuduler

  • 的Laravel調度現在將觸發每一分鐘。要驗證一切正常,您可以自行觸發一次作業(選擇LaravelSchulder作業並單擊「運行」)並檢查作業狀態。如果Azure的報告失敗下狀態檢查日誌,並確保您輸入正確的路徑
  • 希望解釋它。

    快速注意事項:Microsoft喜歡定期更改Azure門戶,所以這些說明中的任何一條都可能已經更改。