我需要在同一台机器上的两个应用程序之间共享一些队列,一个是Tornado,偶尔会向该队列添加消息,另一个是从cron运行的python脚本,每次迭代都会添加新消息。谁能建议我这个模块? (这可以通过redis使用来解决,我避免为此目的使用mysql)
答案 0 :(得分:0)
我会将redis与列表一起使用。你可以将元素顶部推出,然后使用rpop从尾部移除。
答案 1 :(得分:0)
我能想到的最纯粹的方法是使用IPC。当一个进程产生另一个进程时,Python在两个进程之间对IPC有很好的支持,但在你的方案中却没有。 ipc有python模块,例如sysv_ipc
和posix_ipc
。但是,如果您要将主应用程序置于龙卷风中,为什么不让它在zeromq
套接字上侦听已发布的消息。
这是一个包含更多信息的链接。您需要Publisher-Subscriber模型。
http://zeromq.github.io/pyzmq/eventloop.html#tornado-ioloop
您的cron作业将启动并将消息发布到zeromq
套接字。您已经运行的应用程序将以订阅方式接收它们。
答案 2 :(得分:0)