【发布时间】:2014-10-30 20:33:40
【问题描述】:
我已经启动了一个新的 Python 3 项目,我的目标是下载推文并对其进行分析。由于我将下载来自不同主题的推文,我希望有一个工作人员池,这些工作人员必须使用给定的关键字从 Twitter 状态下载并将它们存储在数据库中。我将这个工人命名为fetchers。
另一种工作人员是analyzers,其功能是分析推文内容并从中提取信息,并将结果也存储在数据库中。由于我将分析大量推文,因此拥有一批此类员工也是一个好主意。
我一直在考虑为此使用 RabbitMQ 和 Celery,但我有一些问题:
- 一般问题:真的是解决这个问题的好方法吗?
- 每个下载任务至少需要一个
fetcherworker,这可能会运行一整年(实际上是一个 15 分钟的循环,重复并持续一年)。定义“无限”任务是否合适? - 我一直在尝试 Celery,我使用延迟来启动一些示例任务。想法是我不想不断调用 ready() 方法来检查任务是否完成。是否可以定义回调?我说的不是 celery 任务回调,只是我自己定义的一个函数。我一直在寻找这个,但我没有找到任何东西。
- 我想要一个 RabbitMQ + Celery 服务器,在不同的网络中工作。是否可以定义远程工作者?
【问题讨论】:
-
对不起我的错。我太仓促了。
标签: python python-3.x twitter rabbitmq celery