2010-10-21 19 views
4

J'ai une webapp basée sur les pylônes et j'aimerais utiliser celery + rabbitmq pour un certain temps à prendre des tâches. J'ai jeté un coup d'oeil sur le projet de céleri-pylônes mais je n'ai pas réussi à l'utiliser.Est-ce que quelqu'un a réussi à utiliser le céleri avec des pylônes

Mon problème principal avec le céleri est: où dois-je mettre le fichier celeryconfig.py ou est-il un autre moyen de spécifier les options de céleri, par exemple. BROKER_HOST et similaires, à partir d'une application pylons (De la même manière, on peut mettre les options dans le fichier django settings.py lors de l'utilisation de django-céleri).

Fondamentalement, j'ai étudié 2 options: en utilisant le céleri comme un projet autonome et en utilisant Pylônes céleri, à la fois sans succès .. :(

Merci d'avance pour votre aide

Répondre

3

Je fais cela. Actuellement, même si je n'ai pas mis à jour le céleri depuis un certain temps, je suis toujours sur la version 2.0.0

Ce que j'ai fait était de créer un répertoire celery_app dans mon application pylons (donc dans le même répertoire que data, contrôleurs, etc.)

In ce répertoire sont mes céleryconfig.py, tasks.py et pylons_tasks.py.

pylons_tasks.py est juste un fichier qui initialise l'application pylons afin que je puisse charger des modèles de pylônes et autres dans le fichier celery tasks.py. Il fait donc le pylons init et importe ensuite tasks.py.

Celeryconfig est ensuite configuré pour utiliser myapp.celery_app.pylons_tasks en tant que valeur CELERY_IMPORTS.

CELERY_IMPORTS = ("myapp.celery_app.pylons_tasks",) 

Espérons que cela aide.

1

L'intégration la plus étroite avec les pylônes consiste à construire un chargeur personnalisé en commandes de collage. C'est ce que font les céleri-pylônes. Découvrez ma fourche de céleri-pylônes https://bitbucket.org/dougtabuchi/celery-pylons/src qui devrait fonctionner avec les derniers céleri et pylônes 1.0.

Pour obtenir le côté celeryd de travail, vous devez ajouter les options correctes dans votre fichier ini puis appelez Paster celeryd development.ini

Pour le côté webapp vous avez juste besoin d'importer celerypylons dans environment.py Ensuite, vous être capable d'importer et d'utiliser vos tâches de n'importe où dans votre projet.

Un bon projet de pylônes à regarder qui utilise céleri est https://rhodecode.org/rhodecode/files/tip/