@proGO

Страница 539 из 1674
Dmitry
11.03.2017
19:34:10
какая-то хрень у них с сайтом стряслась :)

гугл предлагает идти на https версию, а там сетр от гитхаба

а http выглядит как говно

вроде у них был покрасивше год назад сайтец

Google
Greg
11.03.2017
20:31:19
Если ты видишь бутстраповский сайт - то все ок :)

Mikhail
11.03.2017
22:37:58


Dmitry
11.03.2017
22:38:59
обрабатывай их в горутинах

там апдейты складываются в канал, т.е. независимо как ты тупишь с их обработкой - они все равно продолжают приниматься без проблем, правда размер буфера не помню.

ну и отправка через встроеный клиент в 2 потока

если нагрузка большая, то надо своего клиента передавать bot, err := tgbotapi.NewBotAPIWithClient(botToken, client)

Mikhail
11.03.2017
22:44:40
Maxim
11.03.2017
22:45:25
то есть лучше создать ещё канал, и в нём уже через select перебирать значения? И обрабатывать их горутинами?
Нет, проще свичом распилить приём типов обновлений и уже в кейсах слать данные в горутины.

Dmitry
11.03.2017
22:45:55
ну у меня они еще разделены на "только чтение" и "запись" обновления

и те что чтения сразу улетают в горутины, запись - по ситуации

и соответственно окончание обработки не bot.Send а тоже в канал, который разгребается уже нормальным клиентом

там еще где-то крутилка есть что увеличивает число коннектов со стороны телеги

100 максимум

Google
Maxim
11.03.2017
22:47:01
А зачем?

Dmitry
11.03.2017
22:47:16
// WebhookConfig contains information about a SetWebhook request. type WebhookConfig struct { URL *url.URL Certificate interface{} MaxConnections int }

о

Maxim
11.03.2017
22:47:24
Я не совсем понимаю для чего так изгаляться. Получаешь апдейт и на его основе делаешь вообще всё остальное

Dmitry
11.03.2017
22:47:27
вон те махконнекшнс

там много нюансов

Maxim
11.03.2017
22:47:53
А уж какой апдейт, ручная стучалка каждую секунду или вебхуки - не суть важно. Канал апдейтов будет один

Mikhail
11.03.2017
22:47:56
Maxim
11.03.2017
22:48:10
Нет, проще свичом распилить приём типов обновлений и уже в кейсах слать данные в горутины.
// Updater for upd := range updates { switch { case upd.Message != nil: go GetMessage(upd.Message) case upd.InlineQuery != nil && len(upd.InlineQuery.Query) <= 255: // Just don't update results if query exceeds the maximum length go GetInlineResults(upd.InlineQuery) case upd.ChosenInlineResult != nil: go TrackChosenInlineResult(upd.ChosenInlineResult) case upd.CallbackQuery != nil: go CheckCallbackQuery(upd.CallbackQuery) } }

И уже в них прыгать и творить что душе угодно

Dmitry
11.03.2017
22:49:37
Я не совсем понимаю для чего так изгаляться. Получаешь апдейт и на его основе делаешь вообще всё остальное
так и есть, просто апдейт апдейту рознь, какие-то дольше, какие-то быстрее обрабатываются

какие-то можно перемешивать, какие-то нет :)

Maxim
11.03.2017
22:50:13
так и есть, просто апдейт апдейту рознь, какие-то дольше, какие-то быстрее обрабатываются
Это да, но горутины выручают тем, что пока что-то тяжёлое делается для одного юзера, другой не будет ждать

Dmitry
11.03.2017
22:50:23
а где у тебя тут про "одного" юзера?

идет тебе три команды

add add done

ты их запустил в горутины, получил add done add

или done add add

правда это только под нормальной нагрузкой будет заметно :)

Maxim
11.03.2017
22:51:17
ты их запустил в горутины, получил add done add
А, ну здесь да, уже ВНУТРИ кейса с сообщениями надо как-то блочить и распределять, это да

Google
Dmitry
11.03.2017
22:51:24
дык

плюс можно упереться во время отправки

Dmitry
11.03.2017
22:51:55
телега далеко не всегда отвечает быстро на твой sendMessage

бывает 999ый перцентиль до 7-10 секунд доходит

Maxim
11.03.2017
22:52:20
телега далеко не всегда отвечает быстро на твой sendMessage
Еслис сервак говно, то это да. И если ты не юзаешь вебхуки

Dmitry
11.03.2017
22:52:24
бля

не я, а их сервер

POST

ответ на него может быть до 7 секунд , на 999

Maxim
11.03.2017
22:52:44
С их серверами никогда проблем не было. Всё мгновенно.

Dmitry
11.03.2017
22:52:51
нагрузки у тебя нет :)

Dmitry
11.03.2017
22:53:17
или мониторинга

Maxim
11.03.2017
22:53:19
нагрузки у тебя нет :)
У меня инлайн-поиск по картинкам. Пара сотен постоянных точно есть.

или мониторинга
Я всё тречу

ответ на него может быть до 7 секунд , на 999
По-моему это только для инлайна

Dmitry
11.03.2017
22:54:17


вот так выглядят периодические "работы" на телеге

Maxim
11.03.2017
22:54:33
С сообщениями вообще не суть важно. Но если бот очень молчаливый и только кушает сообщения, не отвечая в ответ на кучку сообщений, то телеграм тебе в апдейтах будет сообщать об этом

Dmitry
11.03.2017
22:54:36
ну я их так называю.. :)

Google
Dmitry
11.03.2017
22:54:56
просто на 2 часа все тупить начинает пару раз в неделю

с 800мс до 7-10 секунд 99 перцентиль и 150мс - 800 мс 75-ый

Maxim
11.03.2017
22:55:35
просто на 2 часа все тупить начинает пару раз в неделю
У меня аптайм две недели было. Боте если и падает, то исключительно из-за процесса качки изображений.

Dmitry
11.03.2017
22:55:43
это не падение

Maxim
11.03.2017
22:56:03
это не падение
У меня именно падение процесса в докере

Не умею я пока нормально оперировать загрузкой файлов без проблем. ?

На прошлой неделе куча популярных ботов отвалилось, хрен знает почему.

А мой работал.

Admin
ERROR: S client not available

Denis
11.03.2017
23:00:57
AWS ?

Dmitry
11.03.2017
23:01:11
неделю назад не знаю, знаю почему отвалилось 21-ого февраля :)

Denis
11.03.2017
23:01:15
Или это было на позапрошлой

Maxim
11.03.2017
23:01:30
Или это было на позапрошлой
Ну вот где-то в это время

AWS ?
Не-а. Какой-то местный дешёвенький сервер

Dmitry
11.03.2017
23:01:50
в телеге добавили дополнительные валидации на switch_pm_parameter

и те инлайны что там слали фуфло всякое стали получать ошибку START_PARAM_INVALID

Maxim
11.03.2017
23:02:15
Dmitry
11.03.2017
23:02:21
багу?

хз

Google
Maxim
11.03.2017
23:02:38
Когда клик по свичу в канале заполняло поле ввода под кнопкой

Не дай бог ты фокус с него потеряешь - потом хрен уберёшь

Dmitry
11.03.2017
23:03:11
это вообще к телеге никакого отношения не имеет

это клиентские части же

кто как наговнокодил клиента так и мучается

я тебе про апи говорю сервеное :)

а ты мне клик по свичу

Maxim
11.03.2017
23:04:16
Я не выспался просто

Dmitry
11.03.2017
23:04:37
нуок, а я как раз пошел спать.

@mak_tu в общем норм либа и разработчик ее (Syfaro) хорошо идет на контакт, в телеге есть канал.

На нагрузках до 10-15 запросов в секунду даже не парься, выше придется чуть напильничком подпиливать

Yura
11.03.2017
23:10:34
Все уже видели? http://www.tapirgames.com/blog/golang-syntax-sugars-and-exceptions

Kirill
12.03.2017
14:29:52
@schors

Phil
12.03.2017
14:30:10
@schors
усе уже

Kirill
12.03.2017
14:30:20
усе уже
хорошо

Constantine
12.03.2017
14:31:00
?

шустро

Страница 539 из 1674