Bienvenue sur IndexError.

Ici vous pouvez poser des questions sur Python et le Framework Django.

Mais aussi sur les technos front comme React, Angular, Typescript et Javascript en général.

Consultez la FAQ pour améliorer vos chances d'avoir des réponses à vos questions.

Celery et admin django

+3 votes

J’utilise celery + redis pour ma gestion de taches lourdes et répétitives (import de données notamment), tout marche très bien avec des commandes admin.

Seulement, je voudrais pouvoir lancer ces commandes depuis l’admin django et gérer aussi depuis l’admin la périodicité des taches.

La doc celery indique qu’il est possible d’utiliser django-celery pour ça, mais le github du projet indique qu’il s’agite de l’«Old Celery integration project for Django», alors dans ce cas où est la new ? De plus, j’ai l’impression que django-celery utilise la bdd de django comme brocker / backend, alors que j’utilise redis pour ça.

Quelle est la meilleure façon de traiter ce cas ?

demandé 26-Jun-2015 par lluuxx (192 points)
edité 20-Sep-2016 par lluuxx

1 Réponse

+4 votes
 
Meilleure réponse

l'intégration de Celery à Django "avant" c'est bien https://github.com/celery/django-celery/

l'intégration de Celery à Django "maintenant" c'est bien https://celery.readthedocs.org/en/latest/django/first-steps-with-django.html

mais on n'a plus d'admin ........

l'intégration consiste bien à faire en sorte que Celery déclenche les tâches qu'on a defini dans son app django.
Mais dans la foulée on a perdu l'admin et quand on regarde l'appli d'exemple fournie par Celery https://github.com/celery/celery/tree/3.1/examples/django/ on voit bien qu'il n'y a plus rien coté admin

Si @debnet passe par là il pourra peut-être nous dire si c'est le cas ; je sais qu'il gere celery depuis l'admin mais avec djcelery et donc probablement avec une version < 3.0

EDIT
J'a cherché sur pypi et djangopackage et github ; soit il n'y a rien soit ca date des mérovingiens.
A part forker django-celery, recuperer l'admin et l'adapter à la version 3.1 je vois pas mieux

répondu 26-Jun-2015 par foxmask (2,888 points)
sélectionné 29-Jun-2015 par lluuxx

Merci pour cette réponse, c’est pas très réjouissant, je vais me pencher sur un fork de django-celery si j’ai le temps.

Nous n'utilisons pas djcelery, le package est trop vieux et ne fonctionne effectivement qu'avec la base de données en tant que result backend.

Nous utilisons Redis en brocker et result backend sur notre projet professionnel, nous avons créé des APIs dédiés avec Django REST Framework pour lancer les tâches manuellement (notre couche Django ne fait plus de "présentation", donc plus d'admin et plus de page, on passe tout par API).

...