|
|
|
самописная таблица-очередь и select for update
|
|||
|---|---|---|---|
|
#18+
5) можно ли организовать логику dequeuе "ждать Х секунд, если ничего не пришло - выйти из ожидания?" вопросов много, вот и отложили AQ на вторую итерацию... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2018, 11:46 |
|
||
|
самописная таблица-очередь и select for update
|
|||
|---|---|---|---|
|
#18+
А что, кляуза WAIT не работает со SKIP LOCKED ? Может все-таки обратится к первоисточнику? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2018, 12:11 |
|
||
|
самописная таблица-очередь и select for update
|
|||
|---|---|---|---|
|
#18+
Alexus12, AQ: 1) для работы с приоритетами очередь должна быть создана с явным указанием на это. Тогда в индекс включается поле приоритета. На "схватываемость" новых сообщений во время dequeue влияют опции навигации. 2) Если обработчик не обрабатывает, очередь будет копиться. 3) Онлайн изменить очередь без остановки нельзя. Впрочем, это вопрос не столько к очереди, сколько к метасинхронизации писателей и читателей. Пайлоад может быть как anydata, так и raw. Так и просто ссылка на данные в перманентных таблицах. Также писатель и читатель могут вызывать процедуры, а не непосредственно ссылаться на очередь. Вариантов версионировать метаданные множество. 4) Подписка нормальный способ для внешнего обработчика. Внутренний plsql-callback использует до 20 обработчиков на всю БД и не управляется нормально. Кроме того, может молча перестать работать при временно инвалидации обработчика. Проще держать джобы с ожиданием dequeue. 5) можно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2018, 12:48 |
|
||
|
самописная таблица-очередь и select for update
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровА что, кляуза WAIT не работает со SKIP LOCKED ? Может все-таки обратится к первоисточнику?А какой смысл в wait X skip locked? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2018, 12:50 |
|
||
|
самописная таблица-очередь и select for update
|
|||
|---|---|---|---|
|
#18+
-2-, большое спасибо! есть ли (кроме доки) примеры/ссылка хорошая - где почитать, как все это правильно развернуть, чтобы не наступить на известные грабли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2018, 13:24 |
|
||
|
самописная таблица-очередь и select for update
|
|||
|---|---|---|---|
|
#18+
Alexus12есть ли (кроме доки) примеры/ссылка хорошая - где почитать С доки начните. В свое время мне ее вполне хватило. Сложности - в основном, связаны с администрированием AQ. На память: - Как-то админ решил снести схему, содержащую очереди, посредством каскадного drop. 9i или 10g - не помню уже. Было смешно - юзера нельзя снести поскольку в словаре остались очереди (не охвачены cascade), а очереди снести нельзя, поскольку уже не существовало базовых таблиц очередей. Хотя с тех пор, возможно, кое-какую защиту от дурака и предусмотрели. - Традиционные хлопоты с распуханием сегментов данных, если подписчик не вычитывает очередь. - Следует подбирать AQ_TM_PROCESSES под нагрузку - Не следует пихать в очереди "Войну и Мир" - по возможности следует обойтись ссылками на крупные таблицы. Если решите гонять объектные типы - то создавать их следует с явным указанием OID. Если решите использовать RAW - придется продумать формат хранения и методы преобразований. Это не вполне тривиальное упражнение, требующее не только некоторых специальных знаний, но и серьезного тестирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2018, 14:58 |
|
||
|
самописная таблица-очередь и select for update
|
|||
|---|---|---|---|
|
#18+
Alexus122) Кол-во работ (SQL) в каждой заявке разное, время на их исполнение достаточно велико (от минут до часов) Как думаешь, если запустишь параллельно десять DML, каждый из которых работает час, сколько они будут отрабатывать параллельно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2018, 15:51 |
|
||
|
самописная таблица-очередь и select for update
|
|||
|---|---|---|---|
|
#18+
SkilledJuniorAlexus122) Кол-во работ (SQL) в каждой заявке разное, время на их исполнение достаточно велико (от минут до часов) Как думаешь, если запустишь параллельно десять DML, каждый из которых работает час, сколько они будут отрабатывать параллельно? А что, у Вас есть универсальный ответ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2018, 15:56 |
|
||
|
самописная таблица-очередь и select for update
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousА что, у Вас есть универсальный ответ? У Нас нет, у ТС-а наверное есть)) Если у ТС-а нет ответа, то хоть две очереди, хоть десять, его не спасут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2018, 16:19 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39707176&tid=1883422]: |
0ms |
get settings: |
7ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
166ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 505ms |

| 0 / 0 |
