local result,code = http.request (url)
- if code ~= 200 and backlog_con then
+ if code ~= 200 and backlogdb then
printLog("writing record to backlog...")
+ local backlog_con = assert(env:connect(backlogdb))
+ backlog_con:execute('BEGIN TRANSACTION')
backlog_con:execute(string.format("INSERT INTO queue(time_stamp,sensor_id,sensor,param,value) VALUES (datetime('now','localtime'),'%s','%s','%s',%f)",id,type,param,val))
+ backlog_con:execute('COMMIT')
+ backlog_con:close()
end
end
if logdb then
+ local log_con = assert(env:connect(logdb))
+ log_con:execute('BEGIN TRANSACTION')
log_con:execute(string.format("INSERT INTO log(time_stamp,sensor_id,sensor,param,value) VALUES (datetime('now','localtime'),'%s','%s','%s',%f)",id,type,param,val))
+ log_con:execute('COMMIT')
+ log_con:close()
end
end
if not file_exists(backlogdb) then
touch(backlogdb)
end
- backlog_con = assert(env:connect(backlogdb))
+ local backlog_con = assert(env:connect(backlogdb))
backlog_con:execute("CREATE TABLE queue(time_stamp datetime,sensor_id varchar(16),sensor varchar(16),param varchar(16),value float)")
+ backlog_con:close()
end
if logdb then
if not file_exists(logdb) then
touch(logdb)
end
- log_con = assert(env:connect(logdb))
+ local log_con = assert(env:connect(logdb))
log_con:execute("CREATE TABLE log(time_stamp datetime,sensor_id varchar(16),sensor varchar(16),param varchar(16),value float)")
log_con:execute("CREATE INDEX log_idx ON log(sensor_id,sensor,param,time_stamp)")
+ log_con:close()
end
if web_url then
io.close(f)
end)
end
-
end)
end