在cPanel中设置Laravel cron作业

uajslkp6  于 2023-08-08  发布在  其他
关注(0)|答案(5)|浏览(99)

我有以下功能:

protected function schedule(Schedule $schedule)
{
    $schedule->command('email:users')->everyMinute();
}

字符串
当我运行命令

artisan schedule:run


它发送一封电子邮件,但当我将以下命令作为cron作业添加到cpanel时,它不发送任何电子邮件。Cpanel假设给我发电子邮件通知时,cron作业运行,但我还没有收到一封电子邮件。
php /home/rain/artisan schedule:run 1>> /dev/null 2>&1
我哪里做错了?
另外,当我运行artisan schedule:run命令时,它只运行一次。我很好奇为什么我必须添加->everyMinute();,如果它不打算每分钟运行?如果我想每周发送一次,我可以设置cron作业。如果cron job每周发送一次,为什么我必须在函数中添加->weekly();

pinkon5k

pinkon5k1#

它为我工作:
首先尝试您的命令,无需等待:

/usr/local/bin/php /home/hosting-username/laravel-folder/artisan schedule:run

字符串
然后,一旦你检查它是否工作,添加这个:

/usr/local/bin/php /home/hosting-username/laravel-folder/artisan schedule:run >> /dev/null 2>&1

rqdpfwrv

rqdpfwrv2#

Laravel调度器假设你每分钟都有一个cronjob。调度程序仅在您希望有多个任务时才有用。
通常情况下,您在cPanel中配置了一个cronjob,您可以将调度程序设置为everyWeek(),并将另一个任务设置为everyDay(),而无需在cPanel中添加或更改cronjob。
Laravel会自动知道任务是否已经运行。
https://laravel.com/docs/5.4/scheduling
这个Cron每分钟都会调用Laravel命令调度器。当schedule:run命令被执行时,Laravel将评估你的计划任务并运行到期的任务。

gstyhher

gstyhher3#

这对我很有效

/usr/local/bin/php /home/hosting-username/laravel-folder/artisan schedule:run >> /dev/null

字符串
只要确保您使用的PHP的确切版本来执行时间表
例如,如果你的php v是7.3,那么代码将是

/usr/local/bin/ea-php73 /home/hosting-username/laravel-folder/artisan schedule:run >> /dev/null

lzfw57am

lzfw57am4#

这对我很有效
/usr/local/bin/php /home2/maildoll/demo.maildoll.com/artisan queue:work --stop-when-empty >> /dev/null
x1c 0d1x的数据

kmpatx3s

kmpatx3s5#

试试这个。我们必须在路径和命令之间放置“&&”。这对我很有效

/usr/local/bin/php /home/hosting-username/laravel-folder/artisan &&  command:my_command >> /dev/null

字符串

相关问题