我正在进行一个在线竞赛。每天晚上23:59,使用Laravel中的cronjob将选出一个赢家。当我使用everyminute时,它工作正常。但是如果我将它更改为dailyAt('23:59')或cron(59 23 * * *),它就不工作了。这是我运行cronjob的命令:
protected function schedule(Schedule $schedule)
{
// $schedule->command('inspire')
// ->hourly();
$schedule->command('pick:winner')->everyMinute(); //we should use dailyAt but this is not working;
}
4条答案
按热度按时间vwkv1x7d1#
显然时区有问题,我住在比利时。所以一切都提前2个小时执行。所以我不得不设置我的cronjobs不同。
shstlldc2#
尝试添加时区,如下所示:
xytpbqjk3#
你应该试试这个:
您可以在
kernel.php
中使用自定义cron计划,如下所示:希望这对你有帮助
wfveoks04#
我也遇到过同样的问题。但这个方法对我很有效!问题是cpanel服务器上的服务器时间不同。这就是为什么我必须使用时区来获取crojob工作!你必须在cpanel cronjob上设置每分钟的脚本-〉
在您的laravel项目kernel.php文件中-〉