From 1bcc16ab2539d2cddb7589f72487cc81ce69c171 Mon Sep 17 00:00:00 2001
From: Roman Bazalevsky <rvb@rvb.name>
Date: Thu, 23 Jan 2020 18:50:50 +0300
Subject: [PATCH] =?utf8?q?=D0=9F=D0=B5=D1=80=D0=B5=D1=85=D0=BE=D0=B4=20?=
 =?utf8?q?=D0=BD=D0=B0=20=D0=BA=D0=BE=D1=80=D0=BE=D1=82=D0=BA=D0=BE=D0=B6?=
 =?utf8?q?=D0=B8=D0=B2=D1=83=D1=89=D0=B8=D0=B5=20=D1=81=D0=BE=D0=B5=D0=B4?=
 =?utf8?q?=D0=B8=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=81=20sqlite=20-=20?=
 =?utf8?q?=D0=BD=D0=B0=20MT7688=20=D0=B2=D0=BE=D0=B7=D0=BD=D0=B8=D0=BA?=
 =?utf8?q?=D0=B0=D1=8E=D1=82=20=D0=B1=D0=BB=D0=BE=D0=BA=D0=B8=D1=80=D0=BE?=
 =?utf8?q?=D0=B2=D0=BA=D0=B8.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

---
 bin/weathermon | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/bin/weathermon b/bin/weathermon
index dbffa82..d2b5374 100755
--- a/bin/weathermon
+++ b/bin/weathermon
@@ -103,19 +103,23 @@ function submitValue(type,id,param,val)
 
     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
@@ -337,17 +341,19 @@ if backlogdb then
   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
-- 
2.34.1