2

我有一个通过 redis pubsub 实时发送金融报价数据的过程。现在我希望我的 Python 应用程序处理输入数据 (json) 以进行移动平均等实例计算。我想通过 redis 将结果发送回其他任务(根据第一个任务的结果进行进一步计算)。此外,我想每天或每秒定期触发一些任务。由于这个复杂且无法预见的结构问题,我偶然发现了 gevent、Celery 或只是 Threads 等解决方案。

但我想知道的是,我有哪些选择以正确的方式做到这一点?如何以最有效的方式通过 Worker/Task 构建我的 redis pubsub?因此,欢迎提出建议,包括库(如果您使用过任何提到的请分享您的经验)、技术(Python 的结构最佳实践)、如何利用 redis 的 pubsub 以最好的方式完成工作。

4

1 回答 1

2

如果这些计算中的任何一个在计算上都很昂贵,并且您在 python 中进行并且您想要可扩展性,那么 celery 就非常有意义。

gevent 只会让您的代码在特定情况下更高效,但不会在可扩展性方面帮助您。如果您使用线程,这也适用。

请记住,您可以配置 celery以在 gevent(或 eventlet)上运行工作池

于 2011-10-15T19:40:47.110 回答