Ma pile est Nginx + Flup + Flask. J'ai donc un thread fini qui exécute un thread d'arrière-plan qui a une durée de vie finie.Comment puis-je exécuter des threads d'arrière-plan après que la requête a été répété avec nginx/flup?
t = threading.Thread(target=campaign.run, args=(campaign_obj,))
t.setDaemon(False)
t.start()
Il est exécuté, dure environ une minute ou 2, puis il se termine. La chose est, pour la réactivité, je l'ai renvoyer une valeur à la demande d'abord tandis que le processus d'arrière-plan est toujours exécuté.
Le problème est, d'une manière ou d'une autre, que le thread fcgi continue à être tué.
J'ai essayé de changer le connection_timeout à 1800
keepalive_timeout 1800s;
Redémarré nginx, et maintenant il est coupé presque immédiatement après que le fil est répondu.
Comment puis-je soit
1) solution simple mon code python/code fcgi (sans refactorisation dans une énorme nouvelle pile avec Redis/rabbitmq/céleri c'est vraiment un projet rapide)
2) Arrêtez nginx de tuer mon fil, au moins pas si tôt.
Merci!
Utiliser le sous-processus. – snf
sous-processus ou multitraitement? – nubela
Oui désolé, je parle de multitraitement: http://docs.python.org/2/library/multiprocessing.html#the-process-class. – snf