我开发了一些python模块并在virtualenv中运行它们。 我想安排这样的任务(并添加一些依赖项) 在特定时间运行。
例如: 我有一些像
这样的python模块moduleA.py, moduleB.py, moduleC.py, moduleD.py
他们的组织方式如下:
Project A
--------- moduleA.py
--------- moduleB.py
--------- moduleC.py
Project B
--------- moduleB.py
--------- moduleD.py
所以现在我希望项目A能够在virtualenv" projectA"中运行。
所以它应该与source /virtualenv/projectA/bin/active
环境相关。
好。这可以通过Shell - Script来完成。
但是它应该启动moduleA.py,并在完成后从moduleB.py开始,依此类推。最后,环境可以停用。
此程序应重复到不同的时间和项目。 我不知道哪种方法是个不错的选择。 我读到了关于luigi,气流甚至是关于crontab的想法。 我想得到一些提示。
感谢。
答案 0 :(得分:0)
正确的选择取决于您的确切用例。 Cron,airflow和luigi都可以用于此。如果你只有2个项目并且你没有预见到经常更改它们,那么由cron作业运行的简单bash脚本就足够了。 如果你需要错误处理,发送失败的电子邮件,用户界面等,那么luigi或airflow都可以。