
Andrey
22.01.2017
09:46:03
а вообще, проще всего поднять ulimit и посмотреть
если будет падать, то разбираться дальше
если нет, то проблема решена

Евгений
22.01.2017
09:46:20

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
А почему cherrypy?

Евгений
22.01.2017
09:58:48

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

Roman
22.01.2017
10:15:06

Евгений
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

Andrey
22.01.2017
10:18:48

Google

Roman
22.01.2017
10:20:10

Евгений
22.01.2017
10:20:34

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 есть смысл, только если это чудо магическим образом решит все возможные проблемы и поднимет производительность до небес :)

Roman
22.01.2017
10:30:31

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

Roman
22.01.2017
10:32:53

Евгений
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

Google

Denis
22.01.2017
10:39:13
dec ecx
jnz start

Evgeniy
22.01.2017
10:39:26

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

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)

Maxim robox
22.01.2017
10:42:02

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

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
Спасибо

Pavel
22.01.2017
12:25:25

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
Если кто ссылку подкинет, то буду благодарен.
спасибо

Артур
22.01.2017
12:39:28