При создании подключения к базе данных MySQL через коннектор sqlalchemy и pymysql я хочу установить тайм-аут для запросов, которые занимают слишком много времени:
Код: Выделить всё
from sqlalchemy import create_engine
eng = create_engine(
"mysql+pymysql://username:password@host:port/database",
connect_args={'connect_timeout': 1.0, 'read_timeout': 1.0}
)
С помощью этого кода я ожидаю, что любой запрос вызовет исключение не позднее, чем через 2 секунды (1 для самого соединения, 1 для операции чтения). Однако сложный запрос SELECT в любом случае может выполняться несколько минут.
Каковы могут быть причины того, что параметр соединения read_timeout фактически игнорируется?
Подробнее здесь:
https://stackoverflow.com/questions/769 ... -no-effect