我有一个通过redis pubsub实时发送金融tick数据的过程。现在我想让我的Python应用程序处理输入数据(json),例如移动平均线等计算。我想通过redis发送回其他任务的结果(根据第一个任务的结果做进一步的计算)。此外,我想每天或每秒定期触发一些任务。对于这个复杂且不可预见的结构问题,我偶然发现了像gevent,芹菜或线程这样的解决方案。
但我想知道的是,我有什么选择来正确地做到这一点?我如何通过做工人/任务的东西最有效的方式构建我的redis pubsub ?所以,建议是欢迎的,在库(如果你使用了任何提到的请分享你的经验),技术(Python的结构最佳实践),如何利用redis的pubsub以最好的方式完成工作。
如果这些计算在计算上是昂贵的,你用python来做,你想要可扩展性,那么芹菜是完美的选择。
gevent只会让你的代码在特定情况下更有效率,但在可伸缩性方面没有帮助。如果你使用线程,这也是正确的。
请记住,您可以将芹菜配置为在gevent(或eventlet)上运行工作池