禁用芹菜任务上的缓存



我有一个芹菜链,它有多个任务,其中一个是提取一个tar文件并返回在该tar文件中找到的JSON。在链完成时,pylibmc引发error 37 from memcached_set: SUCCESS这意味着与该任务键关联的 memcached 值大于 1MB。

此错误不会干扰链的数据完整性,但我真的不希望将此数据写入缓存,因为它实际上永远不会再次使用。

我浏览了 Celery 文档,但没有发现任何有助于禁用特定任务缓存的内容。任何协助将不胜感激。

您可以使用

CELERY_IGNORE_RESULTTask.ignore_result不存储结果。该值仍返回到链中的函数,只是它们不会持久保存到缓存中。下面是一个使用 ignore_result

@task(ignore_result=True)
def your_task():
    # your code here

文档:http://docs.celeryproject.org/en/latest/reference/celery.app.task.html#celery.app.task.Task.ignore_result

为我指明正确方向的博客文章:https://www.caktusgroup.com/blog/2014/09/29/celery-production/

相关内容

  • 没有找到相关文章

最新更新