我想从控制器获取计划任务列表。一些套餐, articles乃至堆栈溢出解释如何从命令显示它,但我没有找到如何在没有命令的情况下执行此操作。我的目标是获取一系列计划任务及其日期和描述。
有没有办法从控制器获取计划任务作为数组(或对象列表,或任何可以轻松处理的内容)?
这是获取所有计划任务的方法:
app()->make(\Illuminate\Contracts\Console\Kernel::class);
$schedule = app()->make(\Illuminate\Console\Scheduling\Schedule::class);
$events = collect($schedule->events())->map(function($event) {
$cron = CronExpression::factory($event->expression);
$date = Carbon::now();
if ($event->timezone) {
$date->setTimezone($event->timezone);
}
return (object)[
'expression' => $event->expression,
'command' => str_after($event->command, '\'artisan\' '),
'next_run_at' => $cron->getNextRunDate()->format('Y-m-d H:i:s'),
];
});
您有一个对象集合(在$events
)具有三个属性:
-
表达- 例子:
12 1 * * *
-
command- 例子:
mypackage:mycommand
-
下一个运行时间- 例子:
2018-01-10 16:50:49
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)