如何禁用芹菜重试?

时间:2018-04-03 12:00:47

标签: python-3.x celery celerybeat

我每15分钟运行一次celerybeat调度程序,我需要从API获取数据(速率限制=最多300次请求/最小值)并将结果存储到数据库中。我想同时取决于速率限制并行获取网址。如果任何工人在这里失败,我不想重试,因为我将在15分钟内再次ping。关于如何在芹菜中实现这一点的任何建议。

@celery.task(bind=True)
def fetch_store(self):
    start = time()
    return c.chain(c.group(emap.s() for _ in range(2000)), ereduce.s(start)).apply_async()

@celery.task(rate_limit='300/m')
def fetch():
    #... requests data from external API
    return data

@celery.task
def store(numbers, start):
    end = time()
    logger.info("Received" + numbers + " " + (end - start)/1000 + "seconds")

0 个答案:

没有答案