Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 2, 2021 06:21:26

shiyri
Зарегистрирован: 2019-07-09
Сообщения: 72
Репутация: +  0  -
Профиль   Отправить e-mail  

python and mysql одинаковые ответы

Добрый день, написал скрипт который отслеживает переменную из mysql, и в случае изменения заносит в mysql.

 #! /usr/bin/python3
#coding: utf-8
import pymysql.cursors
from datetime import datetime
import time
print("Старт мониторинга")
connection = pymysql.connect(host='localhost', user='root', password='', database='gpstracker', cursorclass=pymysql.cursors.DictCursor)
connection.autocommit = True
cur = connection.cursor()
while True:
    time.sleep(180)             
    cur.execute("SELECT FUEL1 FROM `gpsdata` WHERE `DEVICE_ID` = 354007390 and FUEL1 is not null ORDER BY `gpsdata`.`ID` DESC limit 1")
    data = cur.fetchall()
    last = data[0]
    print(last)
    print(datetime.now())    
   

Судя по времени скрипт работает, но на запросы в mysql приходят одни и те же ответы, хотя в phpmysql уже показываются другие значения.
Лог
 {'FUEL1': 116.0}
{'FUEL1': 116.0}
где-то кешируется? как это убрать?

Отредактировано shiyri (Фев. 2, 2021 06:55:27)

Офлайн

#2 Фев. 2, 2021 10:59:43

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

python and mysql одинаковые ответы

shiyri
Добрый день, написал скрипт который отслеживает переменную из mysql, и в случае изменения заносит в mysql.
а не разумнее тригер на апдейт данных повесить?



Офлайн

#3 Фев. 2, 2021 11:07:13

shiyri
Зарегистрирован: 2019-07-09
Сообщения: 72
Репутация: +  0  -
Профиль   Отправить e-mail  

python and mysql одинаковые ответы

FishHook
можно поподробнее?
или куда копать?

Офлайн

#4 Фев. 2, 2021 11:26:38

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

python and mysql одинаковые ответы

Офлайн

#5 Фев. 2, 2021 11:39:22

shiyri
Зарегистрирован: 2019-07-09
Сообщения: 72
Репутация: +  0  -
Профиль   Отправить e-mail  

python and mysql одинаковые ответы

FishHook
у меня есть накопительные переменные в скрипте, насколько я понял mysql ждать не будет пока переменная накопится, простым select не обойтись? Мне пока просто научиться, на олимпиаду с этим кодом не поеду…..

Офлайн

#6 Фев. 2, 2021 12:19:36

shiyri
Зарегистрирован: 2019-07-09
Сообщения: 72
Репутация: +  0  -
Профиль   Отправить e-mail  

python and mysql одинаковые ответы

сделал так, норм работает

 #! /usr/bin/python3
#coding: utf-8
import pymysql.cursors
from datetime import datetime
import time
print("Старт мониторинга")
while True:
    time.sleep(10)
    connection = pymysql.connect(host='localhost', user='root', password='', database='gpstracker', cursorclass=pymysql.cursors.DictCursor)
    connection.autocommit = True
    cur = connection.cursor()
    cur.execute("SELECT FUEL1 FROM `gpsdata` WHERE `DEVICE_ID` = 354007390 and FUEL1 is not null ORDER BY `gpsdata`.`ID` DESC limit 1")
     data = cur.fetchall()
    cur.close()
    connection.close()
    last = data[0]
    print(last)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version