Здравствуйте, решил написать скрипт, который отдавал бы не сразу, а через время. Иначе говоря - хотел сделать LongPoll механизм.
Вот код:
local key = ngx.md5(ngx.var.remote_addr)
local time = ngx.req.start_time
local json = require('json')
local memcached = require('resty.memcached')
local cache = memcached:new()
local ok, error = cache:connect('127.0.0.1', 11211)
local method = ngx.var.request_method
if (method == 'GET') then
local args = ngx.req.get_uri_args()
local wait = tonumber(args['wait']) or 1
for i = 1, wait do
wait(1000)
end
end
ngx.say(wait)
Но выдает ошибку:
[error] 18984#18984: *45 lua entry thread aborted: runtime error: /var/www/html/init.lua:15: attempt to call local 'wait' (a number value)
stack traceback:
coroutine 0:
/var/www/html/init.lua: in function /www/html/init.lua:1>, client: 46.61.242.35, server: _, request: "GET /lua_init HTTP/1.1", host: "185.159.129.71"
Тут подключены Memcached и JSON, но не используются, однако, они нужны для дальнейшей разработки.
В чем может быть проблема? Я предпологаю, что в Memcached - может, у него есть лимит работы, к примеру, 0.04 секунды? Может бред, а может и нет...