@ru_python

Страница 2077 из 9768
Andrey
22.01.2017
09:46:03
а вообще, проще всего поднять ulimit и посмотреть

если будет падать, то разбираться дальше

если нет, то проблема решена

Евгений
22.01.2017
09:46:20
если оно прямо падает, то скорее всего дескрипторы уже нельзя будет увидеть
CherryPy не закрывается, просто бесконечно сыпет ошибку (скрин выше)

Google
Andrey
22.01.2017
09:46:34
а, ну тогда всё проще

смотришь открытые дескрипторы

и ещё strace приаттачиться и посмотреть, какой именно дескриптор оно пытается открыть

Евгений
22.01.2017
09:47:33
Напомни, пожалуйста, по какому слову грепать? Судя по lsof | wc там 12536 записей

Я долбанусь читать все %)

Andrey
22.01.2017
09:48:09
залей на pastebin, я посмотрю

а грепать по PID надо

от какого пользователя запускается скрипт?

вообще, wsgi нужно проксировать через nginx

Евгений
22.01.2017
09:50:41
от какого пользователя запускается скрипт?
Я не заморачивался, запускаю от рута

Andrey
22.01.2017
09:50:44
оу

так низзя

Евгений
22.01.2017
09:50:56
Bad Decision, знаю

Google
Andrey
22.01.2017
09:51:23
afair, ulimit на рута не действует

Евгений
22.01.2017
09:51:44
Но блин, в системе один юзер, VDS чисто для ботов и ничего другого. У рута вход только по SSH. Сойдет %)

Andrey
22.01.2017
09:52:34
а вообще вот http://rhodesmill.org/brandon/2010/cherrypy-and-running-out-of-file-descriptors-during-development/

Евгений
22.01.2017
09:53:34
Хм, видел вроде статью, но 2010-й год... с того времени CherryPy обновлялся дофига раз, плюс на битбакете у них висел issue про TooManyOpenFiles, закрытый в какой-то древней версии

Andrey
22.01.2017
09:54:12
ну тогда lsof/strace/pdb и в путь

Евгений
22.01.2017
09:54:26
Попробую, спасибо

Andrey
22.01.2017
09:54:33
ты убрал авторелоад у cherrypi?

Евгений
22.01.2017
09:56:08
В cherrypy.config.update выставлен 'engine.autoreload.on': False Если это правильное место, то, значит, отключен

Roman
22.01.2017
09:56:34
может еще поднять ulimit, или как там его, можно?
Лучше опустить лимит и смотреть на чем падает

А почему cherrypy?

Евгений
22.01.2017
09:58:48
А почему cherrypy?
Привычнее. Всё равно перед всеми CherryPy стоит nginx.

Andrey
22.01.2017
09:59:24
а что в логах nginx'a по этому боту?

Евгений
22.01.2017
10:02:11
а что в логах nginx'a по этому боту?
В error.log ничего В access.log - во время бесконечного спама ошибок на все соединения ответ 499 (CLIENT CLOSED REQUEST) https://httpstatuses.com/499

Евгений
22.01.2017
10:15:16
Но зачем?
Зачем что?

Roman
22.01.2017
10:15:34
Почему не uwsgi + nginx?

Евгений
22.01.2017
10:15:54
Roman
22.01.2017
10:16:35
И зачем в схеме cherrypy + nginx два http сервера?

Евгений
22.01.2017
10:18:46
И зачем в схеме cherrypy + nginx два http сервера?
Поясню: один nginx собирает все вебхуки и раскидывает нужным CherryPy, которые перенаправляют содержимое запросов на логику ботов, а боты уже сами там отвечают.

Google
Евгений
22.01.2017
10:20:34
Тогда зачем cherrypy?
Чтобы на ботов передать JSON от Bot API, не?)

Roman
22.01.2017
10:21:02
Нет, строить иерархию костылей - личное дело каждого

Евгений
22.01.2017
10:21:17
Roman
22.01.2017
10:22:05
Хотя, для 3.5 можно и aiowsgi

Евгений
22.01.2017
10:23:09
uwsgi
Чем uwsgi/aiowsgi лучше CherryPy? Может ли он запускаться как CherryPy? (отдельным приложением, чтобы висеть в screen-ах)

Artem
22.01.2017
10:24:15
конечно, может

Евгений
22.01.2017
10:26:20
Остаётся главный вопрос: чем лучше? Уточню: CherryPy меня сейчас устраивает абсолютно всем, кроме единственной проблемы с одним лишь ботом. На всех остальных всё отлично. Соответственно, тратить время на изучение uwsgi есть смысл, только если это чудо магическим образом решит все возможные проблемы и поднимет производительность до небес :)

Евгений
22.01.2017
10:31:28
У тебя дескрипторы текут
Т.е. вместо решения одной конкретной проблемы предлагается изучать другой фреймворк и всё переписывать под него? ОК

Евгений
22.01.2017
10:34:06
Окей, попробую это чудо-юдо uwsgi

Maxim robox
22.01.2017
10:35:44
Одно другого не исключает
uwsgi это же сервер, а CherryPy — фреймворк? Или я чего-то не улавливаю? Почему одно надо заменить другим?

Dan
22.01.2017
10:38:04
коллеги, если бы вам пришлось написать свою собственную функцию с циклом, без использования всех уже встроенных возможностей создания циклов, как бы вы это реализовали? ?

Denis
22.01.2017
10:38:36
Без while и for? Какой язык?

Igor
22.01.2017
10:38:44
Евгений
22.01.2017
10:38:51
Уточню: мне от CherryPy нужен только приём запроса от местного nginx и передача json внутри запроса боту. Больше ни для чего не используется.

Nikolay
22.01.2017
10:39:06
map(..., xrange(n)) ?

Alexey
22.01.2017
10:39:09
x86-ассемблер!
Там же джампы есть :)

Google
Denis
22.01.2017
10:39:13
dec ecx jnz start

Igor
22.01.2017
10:39:39
блин, какие здесь умные все и посарказмировать не получилось :(

Dan
22.01.2017
10:39:39
python же

jmp, jnz это конечно хорошо, но нет

Denis
22.01.2017
10:39:57
Рекурсией, например

Subbotin
22.01.2017
10:40:25
uwsgi это же сервер, а CherryPy — фреймворк? Или я чего-то не улавливаю? Почему одно надо заменить другим?
у них там сервер был помимо фреймворка. знаю что ботл можно запустить через сервер черепи

Admin
ERROR: S client not available

Евгений
22.01.2017
10:41:23
От CherryPy используется, по сути, только такой кусок: class WebhookServer(object): @cherrypy.expose def bot(self): if 'content-length' in cherrypy.request.headers and \ 'content-type' in cherrypy.request.headers and \ cherrypy.request.headers['content-type'] == 'application/json': length = int(cherrypy.request.headers['content-length']) json_string = cherrypy.request.body.read(length).decode("utf-8") update = telebot.types.Update.de_json(json_string) bot.process_new_updates([update]) else: raise cherrypy.HTTPError(403)

Subbotin
22.01.2017
10:42:19
Maxim robox
22.01.2017
10:42:28
для прода
Теперь понятнее. Спасибо.

Roman
22.01.2017
10:45:11
https://www.digitalocean.com/community/tutorials/how-to-deploy-cherrypy-web-applications-behind-nginx-reverse-proxy

Denis
22.01.2017
10:46:06
uwsgi наружу светить не оч

Евгений
22.01.2017
10:46:39
Так и CherryPy наружу не светится, а стоит позади nginx, и принимает только по локалхосту

Denis
22.01.2017
10:48:09
И он на своем собственном сервере крутится?

Евгений
22.01.2017
10:48:30
кто?

Denis
22.01.2017
10:48:36
Cherrypy

Roman
22.01.2017
10:49:18
И он на своем собственном сервере крутится?
Я ж говорю, там у людей хттп сервер их черипай

Google
Евгений
22.01.2017
10:49:22
Нет, все копии CherryPy (15) и nginx расположены на одной машине. nginx смотрит наружу и собирает вебхуки и локально раскидывает всем CherryPy (выбирает, исходя из конкртеной ссылки)

Denis
22.01.2017
10:50:14
Я имею в виду каким способом оно запускается? Что-то типа manage.py runserver в джанго?

Евгений
22.01.2017
10:50:58
Я имею в виду каким способом оно запускается? Что-то типа manage.py runserver в джанго?
Просто в коде cherrypy.config.update({ 'server.socket_host': "127.0.0.1", 'server.socket_port': 3106, 'engine.autoreload.on': False }) cherrypy.quickstart(WebhookServer(), '/', {'/': {}})

Denis
22.01.2017
10:51:44
Не знаю, как там у вас, а в джанго на продакшене так не делают

Евгений
22.01.2017
10:52:59
Не знаю, как там у вас, а в джанго на продакшене так не делают
Не знаю, как у вас там в джанго, вот пример (здесь много лишнего, т.к. пример для самоподписанного сертификата, но не суть) https://bitbucket.org/mastergroosha/telegram-proxy-bot/src/1398b66c1bd946a91e4de805972ce07e241c2d5d/webhook_proxy_bot.py?fileviewer=file-view-default В самом низу

Я вот думаю, эта фигня проявляется на том самом боте, у которого 2 метода в классе WebhookServer. В обоих нет return. Не может быть из-за этого? Глупое предположение, конечно, но совпадение странное. Как только у меня в классе Webhook Server стало 2 метода вместо одного, началась фигня.

Denis
22.01.2017
12:22:32
x = 10 n = "" while x > 0: y = str(x % 8) n = y + n x = int(x / 8) print (n) a = "" while n > 0: y = str(n % 2) a = y + a n = int(n / 2) print (a) Помогите, не получается сделать перевод с 8 сс на 2 сс выдает ошибку

Nikolay
22.01.2017
12:23:03
это вам в @python_beginners

Denis
22.01.2017
12:25:23
Спасибо

Denis
22.01.2017
12:26:42
обучения

Евгений
22.01.2017
12:29:58
Есть тут пользователи opencart? Проблема в торможении при открытии больших категорий товаров. На странице отображается штук 60 товаров, а страница грузится так долго, будто бы прогружается вся БД.

хотя это скорее к PHP'шникам вопрос, а не сюда. Но у меня нет канала по PHP

Igor
22.01.2017
12:30:46
https://github.com/A-gambit/awesome-telegram-chats

Евгений
22.01.2017
12:30:46
Если кто ссылку подкинет, то буду благодарен.

спасибо

Страница 2077 из 9768