|
Таймаут open cursor for execute
|
|||
---|---|---|---|
#18+
Доброго дня, коллеги! Подскажите, пожалуйста, есть ли какой-либо способ установить таймаут на выполнение курсора Код: sql 1.
внутри хранимой процедуры? Отслеживание таймаута в клиенте - не вариант, т.к. использутюся постоянные соединения (persist connection). Использование обычных соединений в клиенте тоже не вариант - периодически нагрузка бывает до 2000 запросов к серверу приложений в секунду. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2018, 23:21 |
|
Таймаут open cursor for execute
|
|||
---|---|---|---|
#18+
sKotДоброго дня, коллеги! Подскажите, пожалуйста, есть ли какой-либо способ установить таймаут на выполнение курсора Код: sql 1.
внутри хранимой процедуры? Отслеживание таймаута в клиенте - не вариант, т.к. использутюся постоянные соединения (persist connection). Использование обычных соединений в клиенте тоже не вариант - периодически нагрузка бывает до 2000 запросов к серверу приложений в секунду. для любителей гамака и лыж -- открыть в соединении дблинк--сессию. в котором запустить асинхронно отложенный пж-кенсел-бекенд головной, и(?или) пж-кенсел/терминейт-бекенд самое себя. ну и обработчик и сейвпойнты правильно расставить. курсор вызывать из такой обертки. или добавить в вере что-то типа Код: sql 1.
что не гарантирует, ибо до вере может в общем случае не добраться ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2018, 10:31 |
|
Таймаут open cursor for execute
|
|||
---|---|---|---|
#18+
qwwq, спасибо, буду думать... А по какой причине в СУБД нет таймаута на execute? Это архитектурное ограничение? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2018, 01:12 |
|
Таймаут open cursor for execute
|
|||
---|---|---|---|
#18+
sKotqwwq, спасибо, буду думать... А по какой причине в СУБД нет таймаута на execute? Это архитектурное ограничение? пачиму нэт, слюшай ви жэ сам сказал -- "усё нэ вариант" вот вам гамак и лижи предлагаем а как стадартный стейтмент таймаут прикрутить, "но нэ атслэживат с клиента" -- думайте сами ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2018, 09:57 |
|
Таймаут open cursor for execute
|
|||
---|---|---|---|
#18+
sKotqwwq, спасибо, буду думать... А по какой причине в СУБД нет таймаута на execute? Это архитектурное ограничение? Есть timeout на запрос. begin; set local statement_timeout to '1s'; select pg_sleep(10); abort; postgres=# begin; BEGIN postgres=# set local statement_timeout to '1s'; SET postgres=# select pg_sleep(10); ERROR: canceling statement due to statement timeout postgres=# abort; ROLLBACK Можно и без клиента. Но будет влиять на выполнение всей вашей хранимки а не на 1 кусок. -- Maxim Boguk dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2018, 11:50 |
|
Таймаут open cursor for execute
|
|||
---|---|---|---|
#18+
Максим, спасибо! Правильно ли я понимаю, что Код: sql 1.
будет действовать только на транзакцию, начатую на клиенте командой "begin" и заканчивающуюся также на клиенте в этой же сессии командой "end"? Т.е., если я хочу, чтобы ХП получения лога отвалилась через 10 сек, то из клиента я её должен вызывать запросом: Код: sql 1. 2. 3. 4.
Правильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2018, 13:28 |
|
Таймаут open cursor for execute
|
|||
---|---|---|---|
#18+
sKotМаксим, спасибо! Правильно ли я понимаю, что Код: sql 1.
будет действовать только на транзакцию, начатую на клиенте командой "begin" и заканчивающуюся также на клиенте в этой же сессии командой "end"? Т.е., если я хочу, чтобы ХП получения лога отвалилась через 10 сек, то из клиента я её должен вызывать запросом: Код: sql 1. 2. 3. 4.
Правильно? 1 - да 2 - лучше через set local всетаки а то он глобальным в сессии останется установлен а это не то что вам надо. -- Maxim Boguk dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2018, 20:24 |
|
|
start [/forum/topic.php?fid=53&msg=39663811&tid=1995715]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 298ms |
total: | 442ms |
0 / 0 |