如何在拉拉维尔每分钟运行计划任务?



如何每分钟运行我的计划任务?当我运行命令php artisan schedule:run时,控制台得到"没有计划命令准备好运行"。我应该如何正确设置我的任务?例如,如果我使用 solo 命令php artisan command:send_info_email_before_event它可以工作,但我想在开发应用程序时用schedule:run来做。

/**
* Define the application's command schedule.
*
* @param  IlluminateConsoleSchedulingSchedule  $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
$schedule->command('command:send_info_email_before_event')
->everyMinute();
}

您应该通过cron 作业将其设置为每分钟运行一次。任务计划不应手动运行。

在终端运行中:

crontab -e

然后添加:

* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

保存后,这将每分钟运行一次应用程序调度程序(无需运行php artisan schedule:run

有关详细信息,请参阅文档。

在窗口中,您可以安排任务。

  1. 打开Windows开始菜单并输入">计划任务"。这将 打开任务计划程序。 之后单击创建任务(我不会 建议使用基本任务,因为它对于 cron 作业来说太基本了)。
  2. 这将打开一个窗口,允许您在 Windows 10 中创建新的"Cron Job"。

    名称:这是记住该任务功能的一种简单方法。您可以输入任何内容。

    描述: 只是一个更深入的描述,让您记住它是什么。

    用户帐户:我建议使用完全特权帐户,以便您的 cron 作业可以根据需要创建和修改文件。但我也建议使用专用于 Cron 作业的帐户,以便您可以随时撤销权限!

    由于网站的性质,我肯定会选中"用户登录与否时运行"并留下不存储密码(如果您不选中此选项并且需要密码,这可能会引发XML无效错误)

    我还会检查"以最高权限运行">

  3. 之后,单击">触发器"和">添加新">

  4. 要运行每天运行多次的"Cron 作业"任务,请单击"每日任务"。每天治疗,每分钟重复一次任务。请务必单击启用。之后,单击"确定",然后单击"操作"选项卡,然后单击"新建...

  5. 将 program/Script 设置为/path/to/
  6. php.exe并将参数设置为/path/to/artisan schedule run。如果路径中有空格,请务必使用 "。我建议以任何一种方式使用它们作为经验法则。

请记住不要使用生产电子邮件凭据,您可以使用类似 https://mailtrap.io 来"捕获"所有已发送的电子邮件。

最新更新