@
vozon 1.部署轻便吗?
非常方便。
第一步:启动 luigi 后台进程(即 luiti 依赖于之上的框架),命令例如 luigid --background --logdir luigi --state-path luigi/state --address 0.0.0.0 --port 32145
第二步:用 luiti 命令行 创建一个项目和若干任务模版,然后实现具体业务逻辑。
第三步:用 luiti 去提交某个时间的任务就可以了。例如 luiti run --task-name 你的任务类 --date-value 2014-09-01
2.已有或计划提供API接口吗?
luiti 本身就是把一堆任务代码当作数据去管理,所以直接操作代码就可以了。目前我和团队成员有意向把 luiti 作为一个插件整合到 hue 里,可以展现任务之间的依赖关系。
这方面你运行一下 luiti 命令行就可以了,风格非常像 Rails 。比如
$ luiti
usage: luiti [-h] {ls,new,generate,info,clean,run} ...
Luiti tasks manager.
optional arguments:
-h, --help show this help message and exit
subcommands:
valid subcommands
{ls,new,generate,info,clean,run}
ls list all current luiti tasks.
new create a new luiti project.
generate generate a new luiti task python file.
info show a detailed task.
clean manage files that outputed by luiti tasks.
run run a luiti task.
$ luiti ls
+-------+-----------------------------------------------+
| | All Tasks |
+=======+===============================================+
| 1 | EnglishStudentDoappEkStatDay |
+-------+-----------------------------------------------+
| 2 | EnglishStudentDoexamNewCorrectByEknowledgeDay |
+-------+-----------------------------------------------+
| 3 | EnglishStudentDoexamNewCorrectDay |
+-------+-----------------------------------------------+
...............................................
+-------+-----------------------------------------------+
| 36 | WhateverCheckDay |
+-------+-----------------------------------------------+
| 37 | DumpVoxQuizFromDatabaseWeek |
+-------+-----------------------------------------------+
| 38 | DumpVoxQuizFromDatabaseDay |
+-------+-----------------------------------------------+
| 39 | EnglishStudentDoexamEtStatDay |
+-------+-----------------------------------------------+
| total | 39 |
+-------+-----------------------------------------------+
$ luiti info --task-name DumpVoxUnitKnowledgePointRefFromDatabaseDay
+-------------------+--------------------------------------------------------------------------------------+
| Task name | DumpVoxUnitKnowledgePointRefFromDatabaseDay |
+===================+======================================================================================+
| Tasks self dep on | ['DumpVoxKnowledgePointDay'] |
+-------------------+--------------------------------------------------------------------------------------+
| Tasks dep on self | ['DumpEnglishEidToEkDay', 'TeacherEnglishAssignHomeworkQuizDay', 'WhateverCheckDay'] |
+-------------------+--------------------------------------------------------------------------------------+
所以你也看到了,UI 在此基础上封装一下就可以了,底层编程都已经提供了,就像 oozie 是 hue 里默认提供的一个插件。