LINUX.ORG.RU

websockets в bottle.py без gevent

 , , , wsgiref


0

1

Захотел я поиграться с вебсокетами на своём сайте. Увы, стандартная дока (http://bottlepy.org/docs/dev/async.html) настаивает на gevent который с моим третьим питоном не работает (единственный нормальный форк от fantix выкидывает SystemError: NULL result without error in PyObject_Call).

Есть ли другой способ прикрутить вебсокеты к бутылке безо всяких костылей типа geventwebsockets?

★★★★★

Последнее исправление: cetjs2 (всего исправлений: 1)

в python отродясь не было стандартного async-io, который нужен вебсокетам
очередная попытка — pep3156
gevent, судя по отзывам, настолько костыльный, что его до сих пор не портировали на py3k

так что придется ставить параллельно сервер с вебсокетами — node.js, jetty, py2.7+gevent

anonymous
()

gunicorn может взлетать на tornado в качестве воркера. Оба есть под третьепитон.

anonymous
()
Ответ на: комментарий от anonymous

gevent, судя по отзывам, настолько костыльный, что его до сих пор не портировали на py3k

я следил за его разработкой. Дело не в костыльности (все костыли в greenlet), а в нежелании автора заниматься третьим питоном. Основная проблема в модуле socket который был сильно перелопачен в третьепитоне. Так вот сторонними силами уже сто раз было всё портировано и протестировано, но автор, похоже, вообще забил на gevent и вряд ли мы скоро увидим не то что gevent-py3k, а gevent-1.0 вообще.

true_admin ★★★★★
() автор топика

ан хрен, gevent-websocket не готов к py3k и 2to3 его не вылечил.

true_admin ★★★★★
() автор топика
Ответ на: комментарий от true_admin

Вчера сталкивался с такой ошибкой. Хз что используется в гринлет, но в pycrypto хеш-функции нужно скармливать не стринг, а string.encode(«utf-8»).

Gregon
()
Ответ на: комментарий от Gregon

Я поправил код в этом и ещё 5 местах — не взлетело.

Сейчас подумываю о переходе на tornado. Хотелось бы cyclone, но он, похоже, тоже совсем не готов к py3k (не смотря на многообещающе заявления в некоторых коммитах).

true_admin ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.