Azure WebApp上的Laravel计划

Eri*_*ick 3 laravel azure-web-sites azure-scheduler azure-webjobs laravel-5.1

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

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

Yor*_*Wid 12

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门户.

  2. 选择WebApp并在应用程序设置下查找WebJobs.单击"添加",将出现侧面板.

  3. 给WebJob一个名字,例如LaravelSchulder上传runsched.cmd从第一步文件.

  4. 将" 类型"设置为"已触发",并确保" 触发器"设置为"已计划".

  5. 现在,您可以指定必须触发命令的频率.甚至门户说"cron表达式" cron的格式一样的Linux的符号.如果表达式设置为Laravel文档你的命令就会被触发每一个中显示的所有星号第二,这是太经常的大多数应用程序.正确的CRON表达式是:

    0 * * * * *

  6. 如果您的Job看起来像这样,请单击"确定".

Azure WebJob Laravel Schuduler

  1. Laravel调度程序现在每分钟都会被触发.要验证一切正常,您可以自己触发作业(选择LaravelSchulder作业并单击"运行")并检查作业状态.如果Azure报告在状态下失败,请检查日志并确保您输入了正确的路径'

希望能够解释它.

快速说明:Microsoft希望定期更改Azure门户,因此这些说明中的任何一条都可能已更改.