Я использую NGINX в качестве балансировщика нагрузки и прокси-сервера для приложения Python, размещенного на Gunicorn. Серверу приложений (gunicorn) требуется больше времени, чтобы дать ответ, и у него есть один рабочий. Запросы, поступающие на сервер nginx в то время, когда сервер приложений не свободен, затем эти запросы остаются в очереди на обработку, ожидая обработки. Здесь мне нужна запись о расположении запросов в очереди ожидания вместе с телом запроса для получения статуса.
Я пытался использовать журналы nginx, а также некоторые сторонние инструменты для этого, но не смог выполнить мойтребование.
Тело моего запроса выглядит следующим образом:
{
"BatchNbr": "Batch_80",
"SharedFolderName":"0.0.0.0/SharedFolder",
"InputPath": "TestPath/pdfs/20190516",
"OutputPath":"TestPath/output",
"DecryptFlag":"False"
}
И я сохраняю статус партии в следующем формате:
Batch Number StartTime (IST) EndTime (IST) Status
Batch_80 2019-10-16 14:16:39 2019-10-16 14:16:39 QUEUED
Batch_70 2019-10-16 14:13:04 2019-10-16 14:13:04 QUEUED
Batch_71 2019-10-16 14:13:04 2019-10-16 14:13:06 FAILURE
batch_test1 2019-10-16 14:09:22 2019-10-16 14:09:22 SUCCESS
Мне нужен статус партии, поставленный в очередь, когда партиязапрос находится в очереди ожидания сервера nginx, статус меняется на RUNNING
, когда запрос достигает сервера приложений, а когда обработка запроса завершена, статус меняется на SUCCESS
. Любые выводы будут очень полезны.