170 похожих чатов

Доброго времени суток, может кто подсказать, каким лучше всего образом

обрабатывать затяжные запросы к серверу. Что я имею ввиду, клиент сделал запрос к серверу (например на express), а операция выполняется крайне долго, после чего nginx просто закрывает соединение и клиент получает 500 ошибку, а процесс на сервере дальше выполняется. На данный момент сделал следующим образом, клиент делает запрос и я ему сразу отдаю ответ о том что задача поставлена на выполнение и организую подписку через sse и когда процесс на сервере завершается, отправляю event клиенту. Вопрос, это нормальная практика или как то по другому можно это реализовать ?

11 ответов

9 просмотров

Подход вполне нормальный. Чаще подобное делают через сокеты

В целом да. Но если большой RPS планируется, то лучше просто очередь и эндпоинт для проверки статуса.

Да, вполне нормально, и в варианте с извещением через вебсокеты используется часто

WebSockets (server push); Server-Sent events (server push).

Aleksandr- Автор вопроса
Артем
В целом да. Но если большой RPS планируется, то лу...

при реализации очередей, клиента оповещать тоже через sse ?

Aleksandr
при реализации очередей, клиента оповещать тоже че...

Да просто пусть фронт ходит и проверяет состояние. Это менее затратно.

Aleksandr- Автор вопроса

а что значит ходит и проверяет ? Я же просто поднимаю соединение в момент создания задачи и жду ответа от сервера, или речь о каком то другом подходе

Aleksandr
а что значит ходит и проверяет ? Я же просто подни...

Сразу отдавай ответ "201 создал" Потом фронт ходит каждые 5 секунд и смотрит статус.

Aleksandr- Автор вопроса
Артем
Сразу отдавай ответ "201 создал" Потом фронт ходит...

а зачем тогда мне при таком подходе sse ?

Aleksandr
а зачем тогда мне при таком подходе sse ?

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

Aleksandr- Автор вопроса

Похожие вопросы

Обсуждают сегодня

кому не сложно распишите пожалуйста для какой цели тут вот эти скобки и в них пихается указатель?
Михаил Helper
15
Комрады, посоветуйте, куда копать? Стал прикручивать кастомизацию тем. В OnShow главной главной формы пытаюсь загрузить из файла настроек и применить тему (на скрине, как долж...
Ed Doc
13
Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
OnShow один раз вызывается? или возможен Hide?
Iluha Companets
14
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
Карта сайта