У меня есть конечная точка REST флешки, которая выполняет некоторую интенсивную обработку процессора и занимает несколько секунд, чтобы вернуться. Часто эта конечная точка вызывается, а затем прерывается клиентом. В этих ситуациях я хотел бы отменить обработку. Как это сделать в колбе?
В node.js я бы сделал что-то вроде:
req.on('close', function(){
//some handler
});
Я ожидал, что фляга будет иметь что-то подобное или синхронный метод (request.isClosed()), который я мог бы проверить в определенные моменты во время моей обработки и вернуть, если он закрыт, но я не могу найти его.
Я подумал о том, чтобы отправить что-то, чтобы проверить, что соединение все еще открыто, и перехватывает исключение, если оно не работает, но похоже, что флажок буферизует все выходы, поэтому исключение не генерируется до завершения обработки и пытается вернуть результат:
Установленное соединение было прервано программным обеспечением вашей хост-машины
Как я могу отменить свою обработку на полпути, если клиент прерывает их запрос?