Можно ли дать команду NGINX обслуживать файл по HTTP, который находится в процессе создания?

Можно ли дать команду NGINX обслуживать файл по HTTP, который находится в процессе создания?

Я использую NGINX как компонент в моей системе, который принимает контент, передаваемый потоком от клиентов (скажем, по RTMP), и передает его на некоторую внутреннюю службу для обработки. Внутренняя служба извлекает контент из NGINX по HTTP.

Но я не хочу ждать, пока клиент полностью передаст весь свой контент, прежде чем начать обработку, поэтому я хочу, чтобы внутренняя служба начала извлекать контент, как только станет доступен первый байт. Проблема в том, что если клиент передает данные медленнее, чем внутренняя служба может извлекать их из NGINX (что всегда так), NGINX достигает текущего конца файла и прекращает обработку контента.

Есть ли способ заставить NGINX начать обслуживание файла, окончательный размер которого неизвестен (очевидно, с Transfer-Encoding: chunked), и не разрывать соединение до тех пор, пока все (еще не предоставленные) данные не будут отправлены?

Я пробовал обслуживать содержимое FIFO, но NGINX просто игнорирует FIFO, возвращая вместо этого 404 Not Found. Я также рассмотрел модуль NGINX HLS, но он, похоже, требует, чтобы файлы были в формате MPEG-4, что неприменимо к моему варианту использования.

Связанный контент