Azure WebApp上的Laravel计划

时间:2016-04-29 08:10:05

标签: laravel laravel-5.1 azure-web-sites azure-webjobs azure-scheduler

我正在寻找一种方法将azure调度程序或Web作业链接到Laravel计划。

我的理解是,要设置Azure计划,我需要一个终点来链接到我的Laravel,我不知道如何实现。

1 个答案:

答案 0 :(得分:11)

<强> TL; DR

您可以使用WebApps下的WebJobs和命令行脚本来触发Laravel调度程序。

完整参考

Azure提供商可以触发各种触发器的WebJobs,包括类似Cron的调度程序。要运行Laravel调度程序,您需要每分钟触发schedule:run命令。现在我假设工匠住在D:\home\site\wwwroot\artisan,这是基于PHP的部署的默认位置。

  1. 创建一个名为runsched.cmd的新文件或其他任何内容,因为它具有.cmd扩展名。使用记事本编辑文件并添加:

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

    保存文件并转到Azure portal

  2. 选择您的WebApp并在应用程序设置下找到 WebJobs 。点击添加,将出现一个侧面板。

  3. 从第一步开始,为WebJob提供名称,例如 LaravelSchulder 上传 runsched.cmd文件。

  4. 键入设置为已触发,并确保将触发器设置为预定

  5. 现在您可以指定必须触发命令的频率。甚至门户网站也说&#39; CRON Expression&#39; cron格式与Linux表示法相同。如果将表达式设置为Laravel文档中显示的所有星号,则每隔将触发一次命令,这对于大多数应用程序来说太常见了。正确的CRON表达式是:

    0 * * * * *

  6. 如果您的工作看起来像这样,请单击“确定”。

  7. Azure WebJob Laravel Schuduler

    1. 现在每分钟都会触发Laravel调度程序。要验证一切正常,您可以自己触发作业(选择LaravelSchulder作业并单击“运行”)并检查作业状态。如果Azure报告失败状态,请检查日志并确保您已输入正确的路径&#39;
    2. 希望能够解释它。

      快速备注 :Microsoft希望定期更改Azure门户,因此这些说明中的任何一条都可能已更改。 < / p>