Отключить кеширование на задаче сельдерея
У меня есть цепочка сельдерея, которая имеет несколько задач, одна из которых - извлечь файл tar и вернуть JSON, найденный в этом файле tar. По завершении цепочки, pylibmc
повышения error 37 from memcached_set: SUCCESS
Это означает, что значение memcached, связанное с этим ключом задачи, превышает 1 МБ.
Эта ошибка не влияет на целостность данных цепочки, но я бы предпочел не записывать эти данные в кеш, так как они никогда больше не будут использоваться.
Я просмотрел документацию по Celery, но не нашел ничего, что помогло бы отключить кеш для конкретной задачи. Любая помощь будет оценена.
1 ответ
Ты можешь использовать 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
Сообщение в блоге, которое указало мне правильное направление: https://www.caktusgroup.com/blog/2014/09/29/celery-production/