我有一个芹菜链,它有多个任务,其中一个是提取一个tar文件并返回在该tar文件中找到的JSON。在链完成时,pylibmc
引发error 37 from memcached_set: SUCCESS
这意味着与该任务键关联的 memcached 值大于 1MB。
此错误不会干扰链的数据完整性,但我真的不希望将此数据写入缓存,因为它实际上永远不会再次使用。
我浏览了 Celery 文档,但没有发现任何有助于禁用特定任务缓存的内容。任何协助将不胜感激。
CELERY_IGNORE_RESULT
或Task.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/