如何实现管理后台可开关的定时任务(计划任务)?
如何做到后台用这种按钮做Laravel定时任务管理的呢?
在 App\Console\Kernel 类的 schedule 方法中定义调度任务
protected function schedule(Schedule $schedule)
{
$schedule->call(function () {
DB::table('recent_users')->delete();
})->hourly();
}
例如我定义了一小时一次的任务调度,但是我想在我自己的管理后台控制它的开启和关闭,如果开启,则执行一小时一次的定时任务,如果关闭则不再执行
可以参考这个包 github.com/codestudiohq/laravel-to... ,或者直接用。
要实现动态管理,只能通过数据库来记录这些计划任务的状态,例如:
然后注册服务替换掉系统的 Schedule ,如:
以上代码来自:github.com/codestudiohq/laravel-to...