Size: a a a

Node.js — русскоговорящее сообщество

2021 April 16

NC

Nikita Chaykin in Node.js — русскоговорящее сообщество
Да, будет жирным
источник

RP

Roman Piontik in Node.js — русскоговорящее сообщество
Господа, дамы, всех приветствую! Сразу вопрос - кто лубоко знает как работает NodeJS (Express) при исполнении реквеста. Буду признателен или за ответы или ссылки где можно почитать ответы.
Вопрос - как ведет себя Exprees при POST запросе в момент когда обработка началась контроллером, но было разорвано соединение клиентом? Могу ли я как-то достоверно определить это событие?
источник

NC

Nikita Chaykin in Node.js — русскоговорящее сообщество
Понял, переделаю это
источник

N

Nikita in Node.js — русскоговорящее сообщество
здесь пахнет xyproblem.info, зачем вам такая информация, какая первоначальная задача

и если экспресс получил запрос и передал его контроллеру, то все, выполнит код вашего обработчика, но выкинет ошибку на res.end / res.send
источник

RP

Roman Piontik in Node.js — русскоговорящее сообщество
Для наглядности такой кейс:
1. Мне присылают через POST картинку для обработки
2. Я ее после обработки отдаю.
3. Обработка занимает время около 5 сек. Если клиент отвалился, резонно прервать процесс.
источник

SK

Sulaimanov K in Node.js — русскоговорящее сообщество
И то и другое, хотел бы по отдельности понять процесс выполнения
источник

N

Nikita in Node.js — русскоговорящее сообщество
https://stackoverflow.com/a/44263344/5605426

It is important to note that the act of receiving data is completely passive in TCP; a socket that only reads cannot detect a dropped connection.
источник

RP

Roman Piontik in Node.js — русскоговорящее сообщество
Оу.. это прикольно! Я про ошибку на res.send
источник

N

Nikita in Node.js — русскоговорящее сообщество
чесно говоря сказал от балды)
источник

N

Nikita in Node.js — русскоговорящее сообщество
ну интуиция подсказывает что так будет, сам не проверял)
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Нет, нельзя. Только кидать пинг-понги, чтобы знать о соединении
источник

RP

Roman Piontik in Node.js — русскоговорящее сообщество
Ну это нечестно :))) Так может тогда и не сработать... нужно проверять
источник

RP

Roman Piontik in Node.js — русскоговорящее сообщество
Это невариант. Как кидат пинг, когда соединение нужно контролировать конкретное.
источник

RP

Roman Piontik in Node.js — русскоговорящее сообщество
Проверим. Кажется разумным.
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
отправлять в этом же соединении и картинку, и пингпонги. Я так понял, тебя волнует время обработки изображения
источник

RP

Roman Piontik in Node.js — русскоговорящее сообщество
Во-первых, меня волнует остаться в контексте HTTP и метода POST в частности.
источник

N

Nikita in Node.js — русскоговорящее сообщество
предлагаю изменить подход

ответ возвращаете сразу, в ответе даете что то типа "image_task_id"

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

если в течении 5 секунд клиент не постучал и не спросил статус задачи - отменяем обарботку картинки
источник

RP

Roman Piontik in Node.js — русскоговорящее сообщество
Это условия из которых я выйти не могу.
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
это можно сделать и по http
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
или так
источник