и информируют о своем выполнении хаб, в хабе висят клиенты по WebSocket и им рассылаются сообщения о прогрессе задач.
сначала сделал по тикеру, хаб опрашивает этот пулл задач раз в 500мс., собирает данные - и шлет на клиент. но если задач нет (а их чаще нет, чем они есть), то происходит бессмысленная работа. решил сделать так, что задачи сами оповещают хаб клиентов о своем прогрессе по каналу, но другой вопрос, если задача "упала", а такое вполне возможно, то последнее сообщение улетевшее на клиент будет о том, что задача жива, и получается что клиент никак не узнает о завершении задачи.
как это лучше реализовать, кто-то знает?
слишком много букв, и ответ - никак. Ты все не через ту сторону объясняешь
Таймаут к таскам пришурупить можно?
Или попробуйте опрашивать о статусе через Лонг-поллинг, возможно снизится нагрузка. Если хотите решить задачу вторым способом - пускайте херт-бит сигналы которые пингуют задачу. И настройте полиси - не ответил на три-пять херт-битов подряд - задача считается мертвой
Получать подтверждение о получении сообщения.
Обсуждают сегодня