поэтому в моем предыдущем проекте я использовал django-celery
но в моем текущем проекте я использую celery
потому что djcelery THIS PROJECT IS NO LONGER REQUIRED
Я использую Redis в качестве моего бэкэнд, и я хотел бы отслеживать все выполняемые задачи, чтобы в будущем я мог делать некоторые сравнения, например, среднее время, которое оно использовало для выполнения задачи 6 месяцев назад и Теперь.
Я знаю, что есть приложения, такие как flower
но я нахожу его немного багги, и я не уверен, что задачи сохранены или нет. Мне нужно что-то более надежное, даже если это означает создание моей собственной модели и принуждение сельдерея сохранить задачу и параметры, которые я хочу, и прочитать их в админ.
Является ли этот подход правильным или существует встроенный сельдерей, чтобы отслеживать эту информацию?
ура
Я все еще использую django-celery
с последними версиями Celery, потому что он хорошо работает (Django 1.6 и 1.7). Он больше не нужен, но вы все еще можете его использовать. Команда управления celerycam проста в использовании и позволяет администраторам контролировать задачи.
Если вы после официального дела делаете, я не вижу лучше, чем документация на сельдерей
django- celerycam
похоже, использует средство просмотра событий на сельдересе, чтобы сделать свой материал (код ниже). Однако интеграция с администратором является единственной работой djcelery. Посмотрите на djcelery/admin.py
from __future__ import absolute_import, unicode_literals
from celery.bin import events
from djcelery.app import app
from djcelery.management.base import CeleryCommand
ev = events.events(app=app)
class Command(CeleryCommand):
"""Run the celery curses event viewer."""
options = (CeleryCommand.options
+ ev.get_options()
+ ev.preload_options)
help = 'Takes snapshots of the clusters state to the database.'
def handle(self, *args, **options):
"""Handle the management command."""
options['camera'] = 'djcelery.snapshot.Camera'
ev.run(*args, **options)