Laravel在App\Console\Kernel类中有一个schedule方法来定义所有的调度任务。iBrand产品作为电商产品,业务需求庞大复杂,schedule方法中的所有定义都会非常臃肿。而且,iBrand产品的每个模块都是一个Package,具有很高的复用性。所以我们开发了这个包,将各个模块的调度任务放在自己的包中,而不是全部放在App\Console\Kernel类的schedule方法中。github:guojiangclub/laravel-schedulingInstallation$composerrequireibrand/laravel-scheduling-vvv如果你的Laravel版本低于5.5,你需要在config/app.php的providers部分添加以下行:iBrand\Scheduling\ServiceProvider::class,UsageextendSchedulingabstractclassuseiBrand\Scheduling\Scheduling;classYourScheduleextendsScheduling{publicfunctionschedule(){//你的日程安排逻辑。$this->schedule->call(function(){})->daily();}}registerAddfollowline到你的ServiceProviderregister方法。$this->app->make(iBrand\Scheduling\ScheduleList::class)->add(YourSchedule::class);欢迎star和提交issue:)讨论交流
