Я разработал приложение Flask, которое подключается к Snowflake DB в качестве бэкэнда с использованием SQLAlchemy. Я столкнулся с проблемой истечения срока действия токена аутентификации Snowflake, если веб-сайт простаивает более 4 часов. Я посмотрел в Google и нашел ответ
https://github.com/snowflakedb/gosnowflake/issues/160
, но он не подходит для Snowflake-SQLAlchemy.
Я реализовал код биения, используя APScheduler, который запускает «Выбрать 1» каждые 50 минут, но если сеанс активен в браузере (SSO), он выдает ошибку «Ток аутентификации истек».
from sqlalchemy import create_engine
engine = create_engine('snowflake://<connection-string>' )
connection = engine.connect()
names = connection.execute_query("select names from employees")
def sensor():
""" Function for scheduling purposes. """
v = cursor.execute("""select 1""")
v = v.fetchall()
print(v)
sched = BackgroundScheduler(daemon=True)
sched.add_job(sensor,'interval',minutes=50)
sched.start()