Laravel 在 Azure WebApp 上安排
Laravel schedule on Azure WebApp
我正在寻找一种方法来 link Azure 调度程序或 Web 作业到 Laravel 计划。
我的理解是,要设置 Azure 计划,我需要 link 到 Laravel 的终点,我不确定如何实现。
TL;DR
您可以使用 WebApps 下的 WebJobs 和命令行脚本来触发 Laravel 调度程序。
完整参考
Azure 提供程序 WebJobs,可以触发各种触发器,包括类似 Cron 的调度程序。为了 运行 Laravel 调度程序,您需要每分钟触发 schedule:run
命令。现在我假设 artisan 住在 D:\home\site\wwwroot\artisan
,这是基于 PHP 的部署的默认位置。
创建一个名为 runsched.cmd
的新文件或任何其他文件,只要它具有 .cmd
扩展名即可。用记事本编辑文件并添加:
php %HOME%\site\wwwroot\artisan schedule:run
保存文件并转到 Azure portal.
Select 你 WebApp 并在 application settings 下找到 WebJobs。单击“添加”,将出现一个侧面板。
给 WebJob 一个 name,例如 LaravelSchulder 和 上传第一步的runsched.cmd
文件。
将 Type 设置为 Triggered 并确保 Triggers 已设置至预定.
现在您可以指定必须触发命令的频率。即使门户网站说 'CRON Expression' cron 格式 not 与 Linux 表示法相同。如果您将表达式设置为所有星号,如 Laravel 文档中所示,您的命令将每隔 秒 触发一次,这对于大多数应用程序来说太频繁了。正确的 CRON 表达式是:
0 * * * * *
如果您的工作看起来像这样,请单击“确定”。
- Laravel 调度程序现在每分钟触发一次。要验证一切是否正常工作,您可以自己触发一次作业(Select LaravelSchulder 作业并单击 运行)并检查作业状态。如果 Azure 在状态下报告 失败,请检查日志并确保您输入了正确的路径'
希望解释清楚。
快速说明:Microsoft 喜欢定期更改 Azure 门户,因此这些说明中的任何一个现在可能已经更改。
我正在寻找一种方法来 link Azure 调度程序或 Web 作业到 Laravel 计划。
我的理解是,要设置 Azure 计划,我需要 link 到 Laravel 的终点,我不确定如何实现。
TL;DR
您可以使用 WebApps 下的 WebJobs 和命令行脚本来触发 Laravel 调度程序。
完整参考
Azure 提供程序 WebJobs,可以触发各种触发器,包括类似 Cron 的调度程序。为了 运行 Laravel 调度程序,您需要每分钟触发 schedule:run
命令。现在我假设 artisan 住在 D:\home\site\wwwroot\artisan
,这是基于 PHP 的部署的默认位置。
创建一个名为
runsched.cmd
的新文件或任何其他文件,只要它具有.cmd
扩展名即可。用记事本编辑文件并添加:php %HOME%\site\wwwroot\artisan schedule:run
保存文件并转到 Azure portal.
Select 你 WebApp 并在 application settings 下找到 WebJobs。单击“添加”,将出现一个侧面板。
给 WebJob 一个 name,例如 LaravelSchulder 和 上传第一步的
runsched.cmd
文件。将 Type 设置为 Triggered 并确保 Triggers 已设置至预定.
现在您可以指定必须触发命令的频率。即使门户网站说 'CRON Expression' cron 格式 not 与 Linux 表示法相同。如果您将表达式设置为所有星号,如 Laravel 文档中所示,您的命令将每隔 秒 触发一次,这对于大多数应用程序来说太频繁了。正确的 CRON 表达式是:
0 * * * * *
如果您的工作看起来像这样,请单击“确定”。
- Laravel 调度程序现在每分钟触发一次。要验证一切是否正常工作,您可以自己触发一次作业(Select LaravelSchulder 作业并单击 运行)并检查作业状态。如果 Azure 在状态下报告 失败,请检查日志并确保您输入了正确的路径'
希望解释清楚。
快速说明:Microsoft 喜欢定期更改 Azure 门户,因此这些说明中的任何一个现在可能已经更改。