-    if code ~= 200 then
-      print("writing record to backlog...")
-      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))
+    if code ~= 200 and backlogdb then
+      printLog("writing record to backlog...")
+      local backlog_con = assert(env:connect(backlogdb))
+      local n,err = 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:close()
+      
+      if err == "LuaSQL: database is locked" then
+        unlock_db(backlogdb);
+      end
+