Избегайте сбоя скрипта Python после потери соединения - PullRequest
0 голосов
/ 04 октября 2019

У меня есть простой скрипт на 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() 

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...