大概是这样的一个需求:
一个自动执行特定任务的平台,可添加使用 Python 编写的程序,平台将任务分配给其他节点执行,结束后返回执行结果。
使用的 Python 版本以及返回结果都有相关约定,但是平台中的 N 个独立不相关的程序可能分别依赖不同的第三方模块,要自动的执行这些程序,需要解决模块依赖问题。
现在遇到的问题是: 如何自动解决任务对第三方模块的依赖?
暂时的思路是用 virtualenv,执行任务的节点接收到任务后创建一个环境,安装所需依赖,结束后销毁该环境,然后等待分配新任务……不断循环。
或者把使用频率高的库列一个表,提交的任务只允许使用表中的模块?
还有就是把任务用 cx_Freeze 之类的工具打包后分发,这样会不会更好一点?
以 automated deployment 之类的关键字进行搜索,大多是使用 Fabric,跟需求不太一致。
大家有没有什么好一点的思路?请帮忙指点一下,或者推荐些类似需求的项目参考。
希望上面的描述足够清楚,如有欠妥之处请指出。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.