我正在开发一个系统,其中一个队列将填充数百万个项目
我需要一个不断从队列中读取项目的进程,然后将这些项目发送给注册的客户端。
我正在考虑使用twisted来实现这一点,让队列读取器成为一个在tcp端口上侦听的扭曲服务器,然后客户端可以在该端口上连接,当一个项目从队列中拉出时,服务器会将其写入所有客户端。
这听起来像扭曲的东西是理想的吗?有没有人知道那些可能做类似事情的示例代码?
答案 0 :(得分:1)
Perspective Broker可能就是你要找的东西。如果您不了解PB,请将其视为XML-RPC,但更多。你可以调用远程过程(呃!),将大多数python对象传递给名字二。
根据您的情况,为客户提供PB。 Twisted Server可以调用远程doWork(myItem, myParameters)
。 Twisted Server将是一个持久的进程,它会累积队列中的项目。如果您有数百万(甚至服务器数十)项目,请记住在发生崩溃时优雅地恢复。如何巧妙地将内容随时备份到磁盘上并在启动时阅读它?
答案 1 :(得分:1)
答案 2 :(得分:0)
Twisted和PB非常适合这一点 - Stack上有很多好的参考资料: