目录
前言
我们在使用luigi简单调试时,在启动luigi任务时,经常加上参数 local_scheduler=True,如下。
luigi.build([Join()], local_scheduler=True, detailed_summary=False)
但是,这只是为了调试时,聚焦于代码自身的正确性,才会用它。
而luigi内置了一个调度器叫做Central Scheduler。我们在生产中也是用这个Central Scheduler来控制、监控我们的task。为什么用这个Central Scheduler呢?因为它可以将我们所有的task关联、监控起来,并且luigi提供了可视化界面,让我们能够可视化的控制各个task(后面我会详细介绍这个可视化界面的功能,并且会基于它的原理改造它)。
那么,肯定有人会问,local_scheduler和Central Scheduler有什么却别呢?我认为是2个方面:
- Central Scheduler可以监控与控制所有task,而local_scheduler只能服务于某个task
- Central Scheduler有很牛的可视化页面,让我们可以直接干预任务的执行(当然,这得益于luigi暴露的控制task的api)