首页 > 解决方案 > 如何在 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())

标签: pythoncelery

解决方案


推荐阅读