python - 如何在 celery/redis/rabbitmq 中实现生产者 - 消费者问题?
问题描述
我有两个工作人员(蜘蛛),其中基本蜘蛛负责查找将数据发送到工作人员 2 的基本数据,工作人员 2 根据该工作人员抓取数据。假设IDS来自基础数据,那么从worker-1依赖数据到worker-2的IDS需要在google,bing,GitHub中找到那些id。worker-1 每天只与 worker-2 异步运行一次,每小时执行一次任务。我看过 celery + celerybeat 和消息代理 redis / rabbitmq。
爬虫响应
class A:
def __init__(self):
pass
def run(self):
return {"id":"ID-2002-0201","updated_at":"2018-05-14T22:25:51Z","html_url":"xxxxxxxxxxxx"}
class B:
def __init__(self):
pass
def run(self):
return {"id":"ID-2002-0202","updated_at":"2018-05-14T22:25:51Z","html_url":"xxxxxxxxxxxx"}
待发送管道
data_sources = [A(),B()]
for data in data_sources:
print(data.run())
解决方案
推荐阅读
- c# - c# 子列表中条件的 lambda 表达式
- gams-math - 怎样才能获得呢?
- java - onClickListner 中的 ArrayAdapter 不起作用
- twitter-bootstrap - 将 azure cdn 与 asp net core 网站一起使用时被 CORS 阻止的引导字体
- javascript - 为什么我的数组是空的?React 读取 json api
- go - golang中的多维数组
- r - 将来自闪亮输入的 dplyr 过滤条件传递给函数
- eclipse - 在 Python 3(在 Pydev 下)如何在包中正确编写导入
- javascript - 自定义静态路由不起作用
- android - 我想用 EditText 设计一个 OTP 屏幕