<div dir="ltr"><div><div><div><div><div><div>Добрый день всем,<br><br></div>возможно есть у сообщества какие идеи, как заставить lua скрипт продолжить работать, после<br></div>того как отослать клиенту ngx.exit(ngx.HTTP_OK)<br><br></div>Идея такая что основная часть логики (дальнейшее проксирование) выносится на момент когда клиенту уже отослать ответ и закрыть соединение.<br><br></div>Клиент в итоге получает очень быстрый ответ, а медленная логика/проксирование (уже ничего отсылать не надо клиенту) обрабатывается уже после.<br><br></div>Как пример такое:<br><br>local ngx = require 'ngx'<br>local cjson = require "cjson"<br>local value = cjson.new().decode(ngx.var.request_body)<br>ngx.header["Content-Type"] = "application/json"<br>ngx.say('{"result":true}')<br>ngx.exit(ngx.HTTP_OK)<br></div><div>...здесь дальнейшая работа с value и отправка дальше, возможно и через "ngx.location.capture" и через сокеты на другие сервера...<br></div><div><br><br></div>Понятно что если ngx.exit запускается, то дальнейший скрипт не работает. Чем его можно заменить (клиентское соединение закрыть и скрипт продолжает работать)?<br></div>