@ru_python

Страница 9604 из 9768
Tishka17
15.07.2019
11:14:48
Делай все в один :)

Slam! 538
15.07.2019
11:15:03
МишанЯ
15.07.2019
11:15:06
Ну а зачем ты стартуешь потоки обработчики?
Чтобы не тормозить монитор уведомлений.

Tishka17
15.07.2019
11:15:32
Google
Slam! 538
15.07.2019
11:15:34
Пришел апдейт Вызвал соответствующий хандлер в потоке

Алексей
15.07.2019
11:15:54
А как можно в бесконечном цикле ждать сообщений от подпроцесса(который тоже работает вечно), и читать данные? Или лучше это сделать через multiprocessing.Process?

МишанЯ
15.07.2019
11:15:55
Так ты даже не пытался на асинкио писать. Попробуй. Будут вопросы, приходи
Дак где же мне пытаться, если я никак не пойму там что куда и сколько?

Tishka17
15.07.2019
11:16:04
Пришел апдейт Вызвал соответствующий хандлер в потоке
В это время получил следующий апдейт и нарушил порядок обработки сообщений. А если упал при обработке - вообще хз что

Ананас
15.07.2019
11:16:11
так. сейчас объясню как это работает. клиент создает n потоков для общения с серверами. и у него есть поток, которому нужно знать, активно ли соединение с каждым сервером. он эти данные пишет в json. для каждого потока есть булька, которая является статусом активности соединения, она изменяется, если соединение разрывается из-за каких-либо причин. и булька служит параметром для записи. в итоге в json клиент запишет либо [0,1,2] (при бульках true на всех трех серверах) допустим, либо [dead, 1, dead], при false, true, false

Tishka17
15.07.2019
11:16:52
Slam! 538
15.07.2019
11:17:21
От одного человека - нет
контекст разве что сохранять

ну с ВК работать кака-бяка

Tishka17
15.07.2019
11:19:10
Maksim если это вакансия - оформи нормально. Если нет - тем более

Slam! 538
15.07.2019
11:20:21
сокет так просто не убьешь

Google
Slam! 538
15.07.2019
11:20:54
запросы на коннект он видеть еще будет, а процесса-обработчика как такового уже нет

Tishka17
15.07.2019
11:21:01
А он send у тебя вообще делает хоть иногда?

Вообще это корректно так делать?

МишанЯ
15.07.2019
11:21:44
Как работает у меня код. Идёт requests запрос длительный longpoll. Ждёт ждёт...бац, пришло сообщение. Выдергивпю это сообщение и отдаю его потоку, чтобы он его обрабатывал и потом выслал ответ тому человеку или ещё что то, НО основная программа должна в это время продолжать ждать новые сообщения, т.е создаётся новый longpoll запрос. Представляете, когда борту будут писать через 1 секунду хотябы человек 10, это он пока отошлет ответ первому, сделает запрос, возмет ондующее сообщение и опять уйдёт на обработку. А там ещё 10 напишет и будет вочереди у ВК лежать останется 18 сообщений которые также надо обработать.

Ананас
15.07.2019
11:22:46
send делает. но я хочу понять, почему settimeout не работает и булька после выхода тайм-аута не false-ится.

МишанЯ
15.07.2019
11:23:01
От одного человека - нет
Каждое сообщение - это новое событие и его надо обработать, без рщницы от кого. Это новое уведомление в любом случае.

Ананас
15.07.2019
11:23:54
протестил с settimeout, ничего не изменилось, вот именно

МишанЯ
15.07.2019
11:24:23
и в чем проблема?
То что 1 cpu на vps рублей за 100 в месяц тариф в этих потоках помрет нахрен, в том и проблема?

Tishka17
15.07.2019
11:24:54
Не надо запускать 1000000 потоков разом

С твоими знаниями о потоках только за асинкио браться

МишанЯ
15.07.2019
11:25:28
Так огранияь число потоков блин
Как мне их ограничить?

Slam! 538
15.07.2019
11:25:46
Не надо запускать 1000000 потоков разом
так они запускаются по мере поступления событий и завершаются по мере быстродействия цпу и интернета

Google
Slam! 538
15.07.2019
11:26:35
Ну вот не надо так делать
pytelegrambotapi так делает, например

Tishka17
15.07.2019
11:26:51
pytelegrambotapi так делает, например
Ещё один повод считать его говном

Slam! 538
15.07.2019
11:27:38
Ещё один повод считать его говном
Поначалу вроде бы хорошо

Tishka17
15.07.2019
11:27:48
Да он говно :)

Вообще хз зачем его берут

Slam! 538
15.07.2019
11:28:18
Вообще хз зачем его берут
Шо хорошо пахнет то и берут

В частности, документация

Tishka17
15.07.2019
11:29:34
В частности, документация
Конечно. Если он не поддерживает все апи телеграма, ему приходится свою доку иметь

МишанЯ
15.07.2019
11:29:39
Можно попробовать 2 потока. 1 longpoll все время, получил - положил на полку, побежал за следующим. А другой увидел на полке, взял и обработал, следущий с полки взял. Только что бы использовать в качестве полочки бы?

МишанЯ
15.07.2019
11:30:27
И как это отразиться на работе бота.(((

Tishka17
15.07.2019
11:30:45
И как это отразиться на работе бота.(((
С 2 потоками это тоже самое что один

Slam! 538
15.07.2019
11:30:51
Боже, возьми и проверь

МишанЯ
15.07.2019
11:30:58
Ты меня вообще не читаешь?
Ты говоришь непонятные мне слова?

Tishka17
15.07.2019
11:31:27
Ананас
15.07.2019
11:32:53
а когда ты убиваешь сервер, чтобы словить такой баг?
убиваю, когда соединение уже установлено.

Google
Slam! 538
15.07.2019
11:33:04
Ананас
15.07.2019
11:33:08
в итоге либо connection error, либо timeout error.

Slam! 538
15.07.2019
11:34:02
Таймаут работает на открытии коннекта (рукопожатии)

А когда ты открыл, конечно ничего не будет. Насколько я знаю, у TCP ping-pong нету, как у тех же вебсокетов, поэтому он и обрубает когда на втором конце молчат

Slam! 538
15.07.2019
11:37:49
По дефолту начинается часа через 4 что ли
- Видишь суслика? - Нет - И я нет, а он есть

На практике таймаут скорее обрубает

Тишка че мыслей нет на этот счёт?

Адам
15.07.2019
11:52:45
Я думаю освоить эту профессию

Нет я быстрый просто надо было отлучится

Denis
15.07.2019
11:59:01
Ты и без него можешь заработать

Andrew
15.07.2019
11:59:53
Как не загляну тут Алиса

omgdatsvalya
15.07.2019
11:59:56
Идти в программирование ради денег? Серьезно?)) Любая профессия же должна быть в кайф ну

Олег
15.07.2019
12:01:07
Идти в программирование ради денег? Серьезно?)) Любая профессия же должна быть в кайф ну
Посадят тебя допиливать код, от которого волосы дыбом становятся, вспомнишь свои слова)

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