Я делаю длинный запрос опроса, задавая тайм-аут 10 секунд, но он, похоже, не работает. Мое понимание заключается в том, что если мы не получим ответ от бэкэнд в течение указанного таймаута, бэкэнд-код должен заканчиваться кодом ошибки timedout
. Это так?http.TIMEOUT не работает в lua
Но если я использую очень малый тайм-аут, например. 0.001, он работает. Поэтому я думаю, что если запрос уже отправлен на бэкэнд, тайм-аут не работает.
Для моего запроса на длительный опрос, если моя сеть отключена, когда запрос отправлен и ждет ответа, там висит разъем lua, и он никогда не восстанавливается из этой ситуации. Не могли бы вы помочь мне, если я могу с этим справиться?
Моя Lua версия - Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio (двойной int32)
Код Спинет:
local http = require "socket.http"
local https = require "ssl.https"
http.TIMEOUT = 10
local r,s,h = https.request({
url = url,
method = "GET",
sink = ltn12.sink.table(results),
headers = {
["Cache-Control"] = "no-cache",
["X-Token"] = config.token
}
})
Вы используете 'https.request' вместо' http.request' – hjpotter92
Да, это правильно. В другом потоке (ниже) говорится, что http.TIMEOUT также должен использоваться для запроса https. 'http://stackoverflow.com/questions/20193454/lua-https-timeout-is-not-working' – Dilip