Y a-t-il un moyen de faire en sorte que BaseHTTPServer.HTTPServer soit multithread comme SocketServer.ThreadingTCPServer?Python - BaseHTTPServer.HTTPServer Concomitance et threading
Répondre
Vous pouvez simplement utiliser le mixin de filetage en utilisant ces deux classes qui multithread :)
Il ne vous aidera pas beaucoup dans la performance bien, mais il est atleast multithread.
from SocketServer import ThreadingMixIn
from BaseHTTPServer import HTTPServer
class MultiThreadedHTTPServer(ThreadingMixIn, HTTPServer):
pass
Cela ressemble à * une * solution .. mais je préfère choisir d'écrire mon propre serveur que d'utiliser quelque chose de lent .. :( – Ian
Si vous cherchez simplement à héberger Python que pourquoi ne pas utiliser un serveur http existant comme nginx, Apache ou lighttpd? En ce qui concerne les performances, le threading vous permettra de faire plusieurs connexions simultanées sans bloquer, donc dans le cas de plusieurs requêtes simultanées, il sera plus rapide, mais il n'utilisera toujours qu'un seul processeur – Wolph
Je ne suis pas à la recherche de cela, je fais un serveur de file d'attente qui prend des demandes entrantes (http ou un format similaire) et fait une action basée sur la demande – Ian
Y a-t-il une raison pour laquelle vous en avez besoin? – jakebman
Parce que je veux un serveur Web de base qui peut gérer la concurrence? Je n'ai pas non plus besoin d'un framework complet comme web.py, cherrypy ou quelque chose comme ça, je veux juste un serveur web vraiment basique comme BaseHTTPServer qui peut gérer plusieurs requêtes simultanées. – Ian
voici une référence: [link] (http://www.doughellmann.com/PyMOTW/BaseHTTPServer/index.html#module-BaseHTTPServer), threading, forking – sfossen