在特定的间隔时间内在SQLite中插入数据

时间:2017-07-14 13:44:01

标签: python scheduled-tasks python-multithreading

我有一个执行一些工作的python进程。程序必须循环执行。它从串口接收数据,对数据执行处理,并在Sqlite中每1秒存储一次数据。

我阅读了许多关于使用Timer对象进行线程化的帖子,但我无法解决问题。 结构基础代码是:

import sqlite3
from datetime import datetime
import json
import serial
from threading import Timer 

#global variables
sqlpath = 'db.sqlite3'

def insertdata(sqlpath,data):
    #insert data in sqlite

def process_data(strdata):
    #process serial information

t = Timer(1,insertdata,[sqlpath,data])
t.start()

if __name=='__main__':
    while True:
        serial_str = serialport.readline()
        #process data
        data = process_data(serial_str)

我有两个问题: 1 - 数据在循环内刷新。如何将数据传递给回调函数? 2 - 回调函数(在此代码中)仅执行1次

有什么想法解决这个问题吗? 非常感谢!

0 个答案:

没有答案