目录
前言
我们在使用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)
一、Central Scheduler的简单使用
官网文档:https://luigi.readthedocs.io/en/stable/central_scheduler.html
首先注意:central scheduler,不要被它的名字锁迷惑了,它不会真正的给你的task去定时、触发、定期运行等。我理解它只是将你所有的task给收集与记录起来,让我们对于我们task的执行状态有一个总体话的概念与记录。并且配合可视化界面(如下所示),很友好的将task占线出来。
当然,并不是只有展示功能,他还可以通过可视化界面让用户自己控制task的执行与暂停、重启等多种操作。
1、Central Scheduler的启动
这里有两个准备条件,完成这两个条件,就可以启动起来Central Scheduler了
- 配置luigid的启动配置与环境配置
- 准备一个task执行的例子(我是自己写的)
1.1 配置luigid的启动配置与环境配置
怎么又冒出来一个luigid??? 这是什么?