Форум сайта python.su
Здравствуйте, у меня такой вопрос:
пользователи делают запрос http-запрос на сервер сервер перенаправляет этот запрос на другой сервер, записывая лог запроса в БД.
здесь занимает кое-какое время открытие соединения со вторым сервером (на который происходит перенаправление запроса)
можете посоветовать как это лучше сделать (например использовать fork или threading) какую библиотеку использовать для соединения с MySQL базой?
статью Forking vs Threading http://www.geekride.com/fork-forking-vs-threading-thread-linux-kernel/ читал, но, честно говоря, не совсем понимаю, что для меня лучше использовать
(соединение со вторым сервером может открываться до 10 с, а входящих запросов может быть до 4 в сек)
в документации к SocketServer написано
These four classes process requests synchronously; each request must be completed before the next request can be started. This isn’t suitable if each request takes a long time to complete, because it requires a lot of computation, or because it returns a lot of data which the client is slow to process. The solution is to create a separate process or thread to handle each request; the ForkingMixIn and ThreadingMixIn mix-in classes can be used to support asynchronous behaviour.
т.е. при использовании ThreadingMixIn будут запросы асинхронно обрабатываться?
Отредактировано altRUist (Дек. 25, 2012 02:04:09)
Офлайн
Twisted идеален для таких задач
Отредактировано s0rg (Дек. 18, 2012 12:57:22)
Офлайн
10 Mb кода и при этом мне оттуда нужен только Echo-сервер
Отредактировано altRUist (Дек. 18, 2012 14:04:05)
Офлайн
10 Mb кодаБезусловно намного лучше написать свой велосипед, а потом спрашить на форумах, почему же у него колеса в разные стороны крутятся…
Офлайн
лучше так, чем потом спрашивать почему у чужого велосипеда перестали крутиться колеса через тысячу километров вдали от дома, и как оно все работает и как починить…
разобраться в 30 строках неправильного кода я считаю проще чем в 10 мегабайтах правильного.
Офлайн
Офлайн