local function wt_nodedata(premature, data)
ngx.log(ngx.ERR, " aaaaaaaaaaa1111111 timer: ", data["mac"]) ---------------------------2 监听到消息时这里无打印日志了
local pg = pgmoon.new({
host = "127.0.0.1",
port = "5432",
database = "postgre1",
user = "admin",
password = "dbpassword"
})
pg:connect()
local res = pg:query("“”)
pg:keepalive()
end
function callback(topic, payload)
ngx.log(ngx.ERR, "a data reveived topic:", topic)
--write to db
local data = "">
ngx.log(ngx.ERR, "a data reveived data:", data["devEUI"])
local ok, err = ngx.timer.at(0, wt_nodedata, data)
ngx.log(ngx.ERR, "1 create timer: ", ok) -----------------------------------1 监听到消息时这里还可以看到打印日志
ngx.log(ngx.ERR, "2 create timer: ", err)
if not ok then
ngx.log(ngx.ERR, "failed to create timer: ", err)
return
end
end
local MQTT = require "mqtt"
MQTT.Utility.set_debug(true)
MQTT.client.KEEP_ALIVE_TIME=60
local mqtt_client = MQTT.client.create('127.0.0.1', 1883, callback)
local error_message = mqtt_client:connect(tostring(ngx.worker.pid()))
local topics = {"application/+/rx"}
mqtt_client:subscribe(topics)
while (error_message == nil) do
error_message = mqtt_client:handler() -----------------------------------0 监听到消息时这里会调用callback函数
socket.sleep(1.0)
end