Как асинхронно выполнить код Lua в location Nginx?
Привет всем!
Проблема в следующем:
Есть обычный location, который обрабатывает входящие запросы. Потребовалось добавить счетчик в табличку mysql, который учитывает некоторые параметры из request_uri для данного location.
В итоге счетчик работает прекрасно, но есть одно "Но.." - при блокировке таблички на запись (в момент выполнения dump`а), Nginx возвращает ошибку 500. После увеличения timeout для запроса, страничка просто ждет пока Lua-скрипт не вернет успех или ошибку.
Как сделать, чтобы работа счетчика не влияла на работу остальной части location?
Для работы с MySQL используется библиотека - lua-resty-mysql.
Скрипт "импортирован" в конфигурацию location через access_by_lua_file, т.к. внутри location присутствует proxy_pass на бэкенд.
В lua-nginx совсем недавно, так что буду рад любой помощи - вплоть до ссылок где и что почитать.
Спасибо!