Я пишу модуль, который будет обрабатывать мой http-запрос. Для этого я добавил обработчик содержимого местоположения (или обработчик директивы местоположения) в мой модуль. Мой обработчик контента взаимодействует с библиотекой, которая не является асинхронной. Итак, в обработчике я ставлю задачу в очередь потоков nginx. Я также добавил обработчик завершения потока.
Проблема, с которой я сталкиваюсь, заключается в том, что Nginx не ждет завершения моего потока. В моем обработчике содержимого местоположения я ставлю задачу в очередь и возвращаю NGX_DONE, и Nginx завершает мой запрос во время работы потока. Я также попытался подключить этот код обработчика в обработчике HTTP_CONTENT_PHASE вместо обработчика содержимого местоположения, но пока не повезло.
Как я могу заставить Nginx дождаться завершения потока, прежде чем завершить запрос в HTTP_CONTENT_PHASE?