我的芹菜链有多个任务,其中之一是提取tar文件并返回在该tar文件中找到的JSON.链完成后,pylibmc从memcached_set:SUCCESS引发错误37,这意味着与该任务密钥关联的memcached值大于1MB.
该错误不会影响链中数据的完整性,但是我真的希望不要将此数据写入高速缓存,因为它将永远不会再被使用.
我浏览了Celery文档,但没有发现可以帮助禁用特定任务的缓存的任何内容.任何援助将不胜感激.
解决方法:
您可以使用CELERY_IGNORE_RESULT或Task.ignore_result不存储结果.该值仍返回到链中的函数,只是它们没有持久化到缓存中.这是使用ignore_result的示例
@task(ignore_result=True)
def your_task():
# your code here
向我指出正确方向的博客文章:https://www.caktusgroup.com/blog/2014/09/29/celery-production/