schedule 对象 如何查看全部的任务,任务上次下次运行时间呢?
运行环境
laravel6.0
我现在想开发一套调度任务管理系统,希望可以通过
1.创建调度任务
2.查看所有的调度任务
3.删除调度任务
目前我想把所有的任务都放在数据库中,在Kernel.php的schedule方法内通过如:
protected function schedule(Schedule $schedule)
{
$objTasks = DB::table("tasks")->get();
foreach ($objTasks as $task){
$schedule->exec($task->command)
->appendOutputTo("./调度ID{$task->id}.log");
}
}
进行运行
现在碰到的问题,我想知道这个Schedule这个类中是否有什么方法可以直接调出来这个任务的下次运行时间,上次运行时间等方法或者属性?
当然我可以通过回调事件写到数据库中,来查看任务的下次运行时间,上次运行的时间,但是我想是不是又什么方法可以直接读取出来。
目前我知道
app()->make(\Illuminate\Contracts\Console\Kernel::class);
$scheduleList = app()->make(\Illuminate\Console\Scheduling\Schedule::class)->events();
可以获取所有任务的对象,经过打印我发现是我数据库中的所有的任务,我也尝试打印了$scheduleList[0] 的属性和方法,里面的东西太多,我没办法全部看懂,我想大家是否知道?或者有相关的文档或者文章?
$scheduleList [0]可以调用
nextRunDate()
获取下次执行时间,然后根据nextRunDate()
的代码,也可以自己写一下获取上次执行时间