我想知道遵循的最佳实践,以便在Python中的两个进程之间共享队列(资源)。这里是一个什么每道工序都做:在两个进程之间共享资源
Process_1:不断地从一个流API
Process_2获取数据(JSON格式):是一个守护进程(类似桑德马雷夏尔的code),它提交数据(一次一个)到数据库
所以,Process_1(或监制)把数据的一个单元到该共享资源,以及Process_2(或消费者)将轮询任何新的单元本共享资源如果有的话,将它们存储在数据库中。
有它来到我的脑海一些选项:
- 使用泡菜(缺点:酸洗的额外开销和去酸洗)
- 传递的数据通过Process_1 的
stdout
到Process_2的stdin
(缺点:none,但不知道如何通过守护进程来实现) - 在
multiprocessing
库中使用pool
对象(缺点:不确定如何对其进行编码,因为一个进程是守护进程)
我想在这方面实践一个最佳的解决方案,用一些代码:)。谢谢。
lvc:感谢您的建议。没有一个过程产生另一个过程。它们是独立创建的。 – ajmartin 2011-06-02 08:43:27