我正在寻找一种方法将azure调度程序或Web作业链接到Laravel计划。
我的理解是,要设置Azure计划,我需要一个终点来链接到我的Laravel,我不知道如何实现。
答案 0 :(得分:11)
<强> TL; DR 强>
您可以使用WebApps下的WebJobs和命令行脚本来触发Laravel调度程序。
完整参考
Azure提供商可以触发各种触发器的WebJobs,包括类似Cron的调度程序。要运行Laravel调度程序,您需要每分钟触发schedule:run
命令。现在我假设工匠住在D:\home\site\wwwroot\artisan
,这是基于PHP的部署的默认位置。
创建一个名为runsched.cmd
的新文件或其他任何内容,因为它具有.cmd
扩展名。使用记事本编辑文件并添加:
php %HOME%\site\wwwroot\artisan schedule:run
保存文件并转到Azure portal。
选择您的WebApp并在应用程序设置下找到 WebJobs 。点击添加,将出现一个侧面板。
从第一步开始,为WebJob提供名称,例如 LaravelSchulder 和上传 runsched.cmd
文件。
将键入设置为已触发,并确保将触发器设置为预定。
现在您可以指定必须触发命令的频率。甚至门户网站也说&#39; CRON Expression&#39; cron格式不与Linux表示法相同。如果将表达式设置为Laravel文档中显示的所有星号,则每隔秒将触发一次命令,这对于大多数应用程序来说太常见了。正确的CRON表达式是:
0 * * * * *
如果您的工作看起来像这样,请单击“确定”。
希望能够解释它。
快速备注 :Microsoft希望定期更改Azure门户,因此这些说明中的任何一条都可能已更改。 < / p>