2012-10-30 10 views
9

Ich versuche zu verstehen, wie und wann Aufgaben in Sellerie gereinigt werden. Vom Blick auf the task docs ich sehe, dass:Sellerie Task Clean-up mit DB-Backend

Alte Ergebnisse automatisch gereinigt werden, auf der Grundlage der CELERY_TASK_RESULT_EXPIRES Einstellung. Standardmäßig ist dieser Wert auf nach 1 Tag festgelegt: Wenn Sie einen sehr ausgelasteten Cluster haben, sollten Sie diesen Wert senken.

Aber dieses Zitat stammt aus dem RabbitMQ Result Backend Abschnitt und ich sehe keinen ähnlichen Text im Database Backend Abschnitt. Meine Frage ist also: Gibt es einen Backend-agnostischen Ansatz, den ich für alte Aufräumarbeiten mit Sellerie verwenden kann, und wenn nicht, sollte ich einen DB Backend-spezifischen Ansatz verfolgen? Wenn es einen Unterschied macht, verwende ich Django-Sellerie. Vielen Dank.

Antwort

7

Wenn Sie auf den Link, um die Einstellung doc für CELERY_TASK_RESULT_EXPIRES:

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

Es tut sagen, dass Datenbank unterstützt dies, aber dann müssen Sie Sellerie Schlag laufen (es gibt eine Standard periodische Aufgabe, die so genannte jeden Tag, um abgelaufene Ergebnisse zu entfernen).

Die Backend-Dokumente in der Aufgabe sollten dies wahrscheinlich auch erwähnen, vielleicht sollte es auch eine dedizierte Anleitung für Backends geben. Wenn Sie dafür Lobbyarbeit leisten möchten, öffnen Sie bitte ein Problem unter https://github.com/celery/celery/issues