Есть ли варианты, чтобы определить конкретный лимит времени для dbGetQuery - PullRequest
3 голосов
/ 08 апреля 2019

Это для R, DBI пакет. Есть ли какие-либо параметры или параметры для ограничения времени SQL-запроса.

не могу найти какие-либо варианты из dbConnect(drv, ...) dbGetQuery(conn, statement, ...)

pool пакет предоставляет idleTimeout параметров, но не может найти параметры или параметры для ограничения времени запроса

Ожидает возврата null, если превысит ограничение по времени, чтобы это не повлияло на внешнюю базу данных

1 Ответ

4 голосов
/ 08 апреля 2019

Вы можете использовать функцию withTimeout(QUERY, timeout=TIMEINSECONDS) из пакета R.utils

. По умолчанию она выдает ошибку, если выполнение того, что вы передаете в первом параметре, выполняется дольше, чем параметр тайм-аута.

Но если вы настроите параметр onTimeout, вы можете определить «Символ, указывающий, какое действие предпринять, если произойдет событие тайм-аута» и TimeoutException, чтобы перехватить и обработать тайм-аут.См. ?withTimeout примеры

...