Уведомления

Группа в Telegram: @pythonsu

#1 Май 28, 2014 10:18:54

andrew.spb
Зарегистрирован: 2014-05-27
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Каркас асинхронного сервера

4kpt_II
Забыл написать. Гляньте в сторону Торнадо. Там уже много чего сделано за Вас. Может подойдет?
Обнаружил в доступных пакетах Торнадо 2.3-2!
Но судя по содержимому пакета, он для 2.7 предназначен.

Офлайн

#2 Май 28, 2014 10:36:03

mgk
Зарегистрирован: 2014-05-27
Сообщения: 9
Репутация: +  1  -
Профиль   Отправить e-mail  

Каркас асинхронного сервера

andrew.spb
А если 2.7? А что вообще значит чистый асинхронный сервер?
2.7 ветка остановлена в развитии. В 3.2 ветке ещё нет встроенного стандартного модуля asyncio, он появился в 3.4. Под чистым асинхронным сервером я подразумеваю механизм, в котором задачи выполняются последовательно в одном потоке за счёт использования средств ОС (файловые дескрипторы и системный вызов epoll).
А что у тебя подразумевается под каркасом асинхронного сервера?

andrew.spb
А вообще имеет ли смысл делать такой сервер на питоне? Может вернуться на qt?
Лучше использовать тот инструмент, который знаешь. Я Qt не знаю, поэтому ничего посоветовать не могу. Почему-то я думал, что это кроссплатформенная C++ библиотека для разработки клиентских приложений.

Офлайн

#3 Май 28, 2014 10:46:51

andrew.spb
Зарегистрирован: 2014-05-27
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Каркас асинхронного сервера

mgk
2.7 ветка остановлена в развитии. В 3.2 ветке ещё нет встроенного стандартного модуля asyncio, он появился в 3.4. Под чистым асинхронным сервером я подразумеваю механизм, в котором задачи выполняются последовательно в одном потоке за счёт использования средств ОС (файловые дескрипторы и системный вызов epoll).
А что у тебя подразумевается под каркасом асинхронного сервера?
Да, я, наверное, не совсем корректно выразился. Действительно, наверное нет смысла делать чисто асинхронный сервер.
Я подразумевал, что все приложение будет состоять из модулей, работающих асинхронно и взаимодействующих между собой. Каждый модуль выполнял бы какую-то функцию.
mgk
Лучше использовать тот инструмент, который знаешь. Я Qt не знаю, поэтому ничего посоветовать не могу.
Ну интересно же попробовать что-то новое Вроде ж делают сервера (даже высоконагруженные, нет?) на питоне, вот и стало интересно попробовать.
Половина логики будет делать СУБД, питон только нужен держать соединения, вытаскивать из БД и отдавать клиентам, журналировать. Проще паренной репы

mgk
Почему-то я думал, что это кроссплатформенная C++ библиотека для разработки клиентских приложений.
Почему обязательно клиентских, сервер тоже вполне можно написать.

Отредактировано andrew.spb (Май 28, 2014 10:47:23)

Офлайн

#4 Май 28, 2014 10:49:09

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Каркас асинхронного сервера

andrew.spb
берешь пишешь простой сервер, а когда приходит запрос обработку суешь в поток.

Офлайн

#5 Май 28, 2014 10:50:40

andrew.spb
Зарегистрирован: 2014-05-27
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Каркас асинхронного сервера

Singularity
andrew.spbберешь пишешь простой сервер, а когда приходит запрос обработку суешь в поток.
А что такое простой сервер?

Офлайн

#6 Май 28, 2014 10:55:16

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Каркас асинхронного сервера

Офлайн

#7 Май 28, 2014 11:34:10

andrew.spb
Зарегистрирован: 2014-05-27
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Каркас асинхронного сервера

Singularity
andrew.spbтипа этого https://github.com/joshmaker/simple-python-webserver/blob/master/server.py
Спасибо за пример, только почему-то не удается его запустить.
Не получается импортировать.
>>> from .server import SimpleServer
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
SystemError: Parent module '' not loaded, cannot perform relative import

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version