@fire_engel

Почему не обновляется бд на heroku?

делаю свой сайт по отслеживанию погоды на питоне, задеплоил всё на heroku. у меня есть web приложение на фласке, которое через sqlalchemy достаёт данные из базы и worker, который записывает инфу в бд с помощью sqlite. Почему-то база данных не обновляется, хоть воркер и работает, смотрел логи в heroku. Код воркера привёл ниже. grab-current -- функция, которая получает текущую погоду.
from grab_cur import get_current as grab_current
import sqlite3, threading, random, datetime
import os, time
from rq import Worker, Queue, Connection


def bd_refresh():
    con = None
    try:
        con = sqlite3.connect("lab2.db")
    except Exception as e:
        print("ERROR",e)

    cur = con.cursor()

    print("iteration")
    data = grab_current()
    sql = "SELECT * FROM `days`"
    sql = f'INSERT INTO days (id, temperature, weather, humidity, date) VALUES ({random.randint(1_000_000_000, 10_000_000_000)}, {data["temperature"]}, "{data["weather"]}", {data["humidity"]}, "{datetime.datetime.now().replace(microsecond=0)}");'


    print(sql)
    result = cur.executescript(sql)
    print(result.fetchall())
    con.commit()
    cur.close()
    con.close()


if __name__ == '__main__':
    while True:
        bd_refresh()
        time.sleep(60)

print(sql) выводит INSERT INTO days (id, temperature, weather, humidity, date) VALUES (2637470770, 28.0, "//cdn.weatherapi.com/weather/64x64/day/113.png", 40, "2022-08-06 14:15:01"); ,
print(result.fetchall()) не выводит ничего.
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
drygdryg
@drygdryg
Python-разработчик
На Heroku используется временная файловая система, не сохраняющая изменения, которые вносятся в файлы во время работы приложения. Используйте клиент-серверную СУБД вместо SQLite, например, PostgreSQL, если хотите разместить приложение на Heroku.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Flask
Седой и строгий
А почему вы ни документацию не читаете, ни поиском не пользуетесь? Чуть ли не 9 из 10 вопросов по тегу об этом. Каждую неделю кто-нибудь спрашивает. Год за годом!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы