在 cPanel 中设置 Laravel cron 作业
Setting up a Laravel cron job in cPanel
我有以下功能:
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 作业每周发送一次,为什么我必须在函数中添加 ->weekly();
?
Laravel 调度程序假定您每分钟都有一个 cronjob。调度程序仅在您想要有多个任务时才有用。
通常您在 cPanel 中配置了一个 cronjob,您可以将调度程序设置为 everyWeek()
并执行另一项任务 everyDay()
,而无需在 cPanel 中添加或更改 cronjobs。
Laravel 会自动知道任务是否已经 运行.
https://laravel.com/docs/5.4/scheduling
This Cron will call the Laravel command scheduler every minute. When
the schedule:run command is executed, Laravel will evaluate your
scheduled tasks and runs the tasks that are due.
对我有用:
先尝试您的命令,无需等待:
/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
这对我有用
/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
这对我有用
/usr/local/bin/php /home2/maildoll/demo.maildoll.com/artisan queue:work --stop-when-empty >> /dev/null
我有以下功能:
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 作业每周发送一次,为什么我必须在函数中添加 ->weekly();
?
Laravel 调度程序假定您每分钟都有一个 cronjob。调度程序仅在您想要有多个任务时才有用。
通常您在 cPanel 中配置了一个 cronjob,您可以将调度程序设置为 everyWeek()
并执行另一项任务 everyDay()
,而无需在 cPanel 中添加或更改 cronjobs。
Laravel 会自动知道任务是否已经 运行.
https://laravel.com/docs/5.4/scheduling
This Cron will call the Laravel command scheduler every minute. When the schedule:run command is executed, Laravel will evaluate your scheduled tasks and runs the tasks that are due.
对我有用:
先尝试您的命令,无需等待:
/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
这对我有用
/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
这对我有用
/usr/local/bin/php /home2/maildoll/demo.maildoll.com/artisan queue:work --stop-when-empty >> /dev/null