rap*_*2-h 1 php laravel laravel-scheduler
我想从控制器获取计划任务列表。一些软件包、文章甚至StackOverflow解释了如何通过命令显示它,但我没有找到如何在没有命令的情况下执行此操作。我的目标是获取一系列计划任务及其日期和描述。
有没有办法从控制器获取计划任务作为数组(或对象列表,或任何可以轻松处理的内容)?
这是获取所有计划任务的方法:
use Carbon\Carbon;
use Cron\CronExpression;
use Illuminate\Support\Str;
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'),
];
});
Run Code Online (Sandbox Code Playgroud)
$events您有一个具有三个属性的对象集合(在 中):
12 1 * * *mypackage:mycommand2018-01-10 16:50:49