2012-10-30 39 views
9

Tôi đang cố gắng hiểu cách thức và thời điểm công việc được làm sạch trong cần tây. Từ nhìn vào the task docs tôi thấy rằng:làm sạch nhiệm vụ cần tây với DB phụ trợ

kết quả cũ sẽ được làm sạch tự động, dựa trên các thiết lập CELERY_TASK_RESULT_EXPIRES. Theo mặc định, cài đặt này sẽ hết hạn sau 1 ngày: nếu bạn có một cụm rất bận, bạn nên giảm giá trị này.

Nhưng trích dẫn này là từ phần Phụ lục kết quả RabbitMQ và tôi không thấy bất kỳ văn bản tương tự nào trong phần Cơ sở dữ liệu phụ trợ. Vì vậy, câu hỏi của tôi là: là có một cách tiếp cận phụ trợ bất khả tri tôi có thể làm cho nhiệm vụ cũ làm sạch với cần tây và nếu không có một cách tiếp cận cụ thể DB Backend tôi nên dùng? Trong trường hợp nó làm cho bất kỳ sự khác biệt tôi đang sử dụng django-cần tây. Cảm ơn.

Trả lời

7

Nếu bạn nhấp vào liên kết để các thiết lập doc cho CELERY_TASK_RESULT_EXPIRES:

http://docs.celeryproject.org/en/latest/userguide/configuration.html#result-expires

Nó nói cơ sở dữ liệu có hỗ trợ này, nhưng sau đó bạn cần phải chạy cần tây beat (có một công việc định kỳ mặc định, được gọi là mỗi ngày, để xóa kết quả đã hết hạn).

Tài liệu phụ trợ trong tác vụ có lẽ cũng nên đề cập đến điều này, có lẽ cũng cần có hướng dẫn dành riêng cho các chương trình phụ trợ. Nếu bạn muốn vận động hành lang cho vấn đề này, vui lòng mở một vấn đề tại https://github.com/celery/celery/issues

Các vấn đề liên quan