2015-08-10 4 views
1

Le titre dit tout. J'ai gunicorn courir mon application avec 5 travailleurs. J'ai une structure de données à laquelle tous les travailleurs doivent accéder et qui est mise à jour selon un calendrier par apscheduler. Apscheduler est actuellement en cours d'exécution une fois par travailleur, mais je veux juste qu'il s'exécute une fois. Y a-t-il un moyen de faire cela? J'ai essayé d'utiliser l'option --preload, ce qui me permet de charger la structure de données partagée une seule fois, mais ne semble pas permettre à tous les travailleurs d'y avoir accès lors de la mise à jour. Je suis ouvert à passer à uWSGI si cela peut vous aider.Exécuter ApScheduler dans Gunicorn sans dupliquer par travailleur

Répondre

0

Je ne suis pas au courant d'un moyen de le faire avec l'un ou l'autre, au moins pas sans une sorte de RPC. Autrement dit, exécutez APScheduler dans un processus séparé, puis connectez-vous à partir de chaque worker. Vous pouvez rechercher des projets comme RPyC et Execnet pour le faire.