172 похожих чатов

Подскажите, столкнулись с тем, что connect_timeout "не работает" в Connection

String. Есть сервер, допустим X. Курл X:5432 до него отрабатывает за секунду, все ок. connect_timeout стоит на 3 секунды.
Мы "отрубаем" сервер "из розетки", курл теперь весит до него с десяток других секунд, НО connect_timeout в три секунды не срабатывает, а продолжает подключиться примерно столько же, сколько курл.

Есть предположение, что в данном случае нужен какой-то таймаут "уровнем выше", мб на уровне ОС? Видимо приложение пытается еще до подключения к БД и использования Connection String "развезолвить" хост с десяток других секунд, как вот этот вот кейс через таймаут ограничить?

6 ответов

15 просмотров

Покажыте достаточно полный код, которым подключаетесь (лучшэ — повторяемый, т.е. такой, который запустится у других участников чятика).

Terrifin- Автор вопроса
Ilya Anfimov
Покажыте достаточно полный код, которым подключает...

Вряд ли смогу показать :/ Там sql_alchemy с psycopg и engine_options = { "connect_args": {"connect_timeout": 3}

Terrifin
Вряд ли смогу показать :/ Там sql_alchemy с psycop...

Ну, на нет и суда нет. Впрочем, могу посоветовать поискать в коде set_wait_callback. Если найдёте — можэте попытаться всунуть внутрь код таймаута. Или, кстати (лучшэ) — найдите любителя параллелизма и корутинов, который этот set_wait_callback вставил, и заставьте его в этой проблеме разбираться. (После set_wait_callback этот connection_timeout и не должэн работать, есличо).

Terrifin
Вряд ли смогу показать :/ Там sql_alchemy с psycop...

Впрочем, его мог позвать sqlaclemy_gevent или какая-то другая библиотека для облегчения сопряжэния с green threads и корутинами.

Не нужно gevent тащить в 2023м то году, если это не дикое легаси. Тем более что sqlalchemy уже поддерживает asyncio.

Alex
Не нужно gevent тащить в 2023м то году, если это н...

Я сильно подозреваю, что sqlalchemy/asyncio тожэ поставит set_wait_callback...

Похожие вопросы

Обсуждают сегодня

читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
я имею в виду официально интегрированный в телегу? в том плане что не сливает переписку с пользователем?
Andrey
9
Кто-нибудь решал проблему с автоматическим скроллингом к выбранной ячейке в TDBGrid в Lazarus? Проблема в том, что есть допустим 3 столбца, третий столбец виден наполовину, вк...
Дмитрий Логинов
1
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Чорт! Чорт! Чорт! Стала ставить через GetIt (написано же, что ручками не рекомендуется) Сломалось на дублировании моей TSkLabel. Чтож мне ее по всем проектам переименовывать в...
Катерина Свиридова
7
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
Карта сайта