Найти - Пользователи
Полная версия: python and mysql одинаковые ответы
Начало » Python для новичков » python and mysql одинаковые ответы
1
shiyri
Добрый день, написал скрипт который отслеживает переменную из 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}
где-то кешируется? как это убрать?
FishHook
shiyri
Добрый день, написал скрипт который отслеживает переменную из mysql, и в случае изменения заносит в mysql.
а не разумнее тригер на апдейт данных повесить?
shiyri
FishHook
можно поподробнее?
или куда копать?
shiyri
FishHook
у меня есть накопительные переменные в скрипте, насколько я понял mysql ждать не будет пока переменная накопится, простым select не обойтись? Мне пока просто научиться, на олимпиаду с этим кодом не поеду…..
shiyri
сделал так, норм работает
 #! /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)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB