Как я могу запретить перезагрузке Dash повторно запускать соединение с базой данных при каждом сохранении файла?Python

Программы на Python
Anonymous
Как я могу запретить перезагрузке Dash повторно запускать соединение с базой данных при каждом сохранении файла?

Сообщение Anonymous »

Я создаю панель управления Dash, которая при запуске загружает данные из удаленной базы данных (Redshift). Загрузка занимает ~2 минуты. Когда я использую use_reloader=True, каждый раз, когда я сохраняю любой файл .py в проекте (включая файлы макета), перезагрузщик перезапускает весь процесс и повторно подключается к базе данных.
Что я хочу: Редактировать файлы макета (

Код: Выделить всё

ventas.py
, filtros.py) и увидеть отраженные изменения без повторного подключения к базе данных.
Минимальное воспроизведение:

Код: Выделить всё

# main.py
import os
import psycopg2
import pandas as pd
import dash
from dash import html

estado = {}

def cargar_datos():
print("Connecting to DB...")  # expensive — takes ~2 minutes
conn = psycopg2.connect(host="...", port=5439, database="...", user="...", password="...")
estado["data"] = pd.read_sql("SELECT * FROM my_table", conn)
conn.close()

cargar_datos()

app = dash.Dash(__name__)
app.layout = html.Div("hello")

if __name__ == "__main__":
app.run(debug=True, use_reloader=True)

Код: Выделить всё

# ventas.py — editing and saving this file triggers a full reload
from dash import html
layout = html.Div("Ventas")
Что происходит:
Каждый раз, когда я сохраняю ventas.py, терминал снова показывает «Подключение к БД...», хотя я только изменил макет.

Вернуться в «Python»