2009-02-12 14 views
2

Je pensais faire des settings.py démarrer le processus mais cela semblait légèrement moche.Je voudrais un processus séparé à quand django commence - est-ce qu'il y a une manière acceptée de faire ceci?

Je ne veux pas vraiment faire de scripts de démarrage personnalisés, et je ne peux pas vraiment rendre le démarrage de ce processus paresseux.

+0

Les raisons sont un peu compliquées :). J'ai besoin d'utiliser certaines librairies de IronPython mais l'invocation de ironpython syncrhon est trop lente en raison des temps de démarrage - donc un service est utilisé - quelque chose doit démarrer ce service. Bien sûr, il serait préférable que tout cela soit en python ... – user47741

+0

La raison pour laquelle le chargement paresseux n'est pas possible est que c'est pour un service Web qui attend une réponse dans un délai donné, et enverra des demandes en double sinon. Pour le moment, j'ai décidé d'utiliser le chargement paresseux et d'avoir la première demande échouée. – user47741

+0

Et oui - l'hébergement du service entièrement dans IronPython serait probablement une bonne option si cela pouvait être fait. – user47741

Répondre

2

Vous pouvez enregistrer un écouteur sur le signal "préparé en classe" sur l'une de vos classes de modèle et déclencher votre processus à partir de là. Cependant, je pense que la nécessité de le faire est probablement une odeur de conception, ou un cas de la queue qui remue le chien.

http://docs.djangoproject.com/en/dev/ref/signals/#class-prepared

Je serais curieux de savoir pourquoi votre conception demande, mais qui peut nous arriver hors-sujet.

Questions connexes