14 ноября 2016 г.

jarvis

И ещё нюанс по поводу «Шлем Яше». Делаю я это через Twitter, который используется как Message Oriented Middleware. У твиттера есть streaming API, которое позволяет в реальном времени получать от сервера апдейты. В теории. На практике твиттер может разорвать соединение в любой момент по миллиону причин. По этому поводу был добавлен отдельный Thread, который восстанавливает соединение. Ну, если твиттер не лежит. А он, знаете ли, любит прилечь. Смешно было, когда я не мог лечь спать, поскольку телефон из-за лежащего твиттера не мог передать Яше, что я ложусь спать (а это запускает сложный процесс, потом расскажу). А вот не смешно было и конкретно выбесило, когда твиттер падал точно в те моменты, когда маме и остальным надо было сообщить, где я. И мне приходилось на холоде доставать телефон. Так что домой я пришел взбешенный и переписал модный streaming API на тупой запрос апдейтов каждые три секунды (что в данный момент влезает в ограничение по количеству запросов, но опять же может измениться в любой момент). И если polling упал, то ничего страшного, я запоминаю последний обработанный твит, в следующий раз обработаю. А чтобы навсегда забыть про твиттер, как про страшный сон, я поднял, наконец-то, свой HTTP сервер с REST интерфейсом #Jarvis

Комментариев нет:

Отправить комментарий