我想使用Laravel的Cron API在本月的最后一个星期一运行一个cron 。我检查过这个:
https://laravel.com/docs/5.3/scheduling
我没有得到任何解决方案。
我最多可以:
$schedule->command(Commands\PerformerReminder::class)->monthly()->mondays();
但我认为它将在本月的每个星期一运行cron,而不仅仅是上周一。
如果使用Laravel的cron API无法做到这一点,那么我可以使用常规的cron选项。
我认为会是这样的:
$schedule->command(Commands\PerformerReminder::class)->cron('* * * * *);
我不知道cron()函数中的值是什么。
任何帮助都会得到满足。
谢谢,
Parth Vora
答案 0 :(得分:1)
怎么样
use Carbon;
$schedule->command(Commands\PerformerReminder::class)->mondays()->when(function(){
// return true if this monday is last monday of this month
return (Carbon::now()->isSameDay($now->lastOfMonth(Carbon::MONDAY)));
});
答案 1 :(得分:1)
我得到了这个:
应用/控制台/ Kernal.php:强>
protected function schedule(Schedule $schedule)
{
$schedule->command(Commands\PerformerReminder::class)->when(function() {
return (new Carbon('last monday of this month'))->isToday();
});
}