У меня есть простой скрипт на Python, восстанавливающий строковые данные из последовательного порта. Затем, используя несколько строк кода, я сохраняю каждый параметр в базе данных mongo на локальном хосте.
Я успешно запускаю скрипт в debian 10, но когда я вынужден сбросить сервер базы данных на локальном хосте localhost: 27017,Ошибка сценария.
Как избежать сбоя сценария после потери соединения с базой данных? Я хотел бы, чтобы скрипт следовал вживую в поисках серийных данных.
import serial
import pymongo
import ...
....
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["databasename"]
mycol = mydb["collection"]
ser = serial.Serial('COM9', 9600, timeout=1)
def getSerial():
data_raw=ser.read(25)
if len(data_raw) > 23 and data_raw[0] == 83 :
measure = {
"time": data_raw[1:6],
"date": data_raw[6:14],
"param1": data_raw[14:18],
"param2": data_raw[18:22],
"created_at": datetime.datetime.now(),
}
x = mycol.insert_one(measure)
while True:
getSerial()