Laravel 是在 App\Console\Kernel 类中的 schedule 方法去定义所有的调度任务。
iBrand 产品作为一个电商类产品,本身业务需求非常庞大和复杂,全部定义在 schedule 方法中会非常臃肿。而且 iBrand 产品的每个模块都是一个 Package,具有高度的复用性。
所以我们开发了此包,用来把各个模块的调度任务放在自己的包里,而不是全部放在 App\Console\Kernel 类的 schedule 方法中。
github: guojiangclub/laravel-scheduling
Installation
$ composer require ibrand/laravel-scheduling -vvv
If your Laravel version below 5.5, you need add the follow line to the section providers of config/app.php:
iBrand\Scheduling\ServiceProvider::class,
Usage
extend Scheduling abstract class
use iBrand\Scheduling\Scheduling;
class YourSchedule extends Scheduling {
public function schedule(){
//Your schedule logic.
$this->schedule->call(function () {
})->daily();
}
}
register
Add follow line to you ServiceProvider register method.
$this->app->make(iBrand\Scheduling\ScheduleList::class)->add(YourSchedule::class);
欢迎大家 star 和提交 issue ?
讨论交流

为了解决iBrand电商产品在Laravel框架下调度任务过于集中的问题,开发了一个新的包,允许各模块独立管理调度任务,提高代码组织性和复用性。
6701

被折叠的 条评论
为什么被折叠?



