powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / самописная таблица-очередь и select for update
10 сообщений из 60, страница 3 из 3
самописная таблица-очередь и select for update
    #39706871
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
5) можно ли организовать логику dequeuе "ждать Х секунд, если ничего не пришло - выйти из ожидания?"

вопросов много, вот и отложили AQ на вторую итерацию...
...
Рейтинг: 0 / 0
самописная таблица-очередь и select for update
    #39706901
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что, кляуза WAIT не работает со SKIP LOCKED ?
Может все-таки обратится к первоисточнику?
...
Рейтинг: 0 / 0
самописная таблица-очередь и select for update
    #39706931
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexus12,

AQ:
1) для работы с приоритетами очередь должна быть создана с явным указанием на это. Тогда в индекс включается поле приоритета. На "схватываемость" новых сообщений во время dequeue влияют опции навигации.
2) Если обработчик не обрабатывает, очередь будет копиться.
3) Онлайн изменить очередь без остановки нельзя. Впрочем, это вопрос не столько к очереди, сколько к метасинхронизации писателей и читателей. Пайлоад может быть как anydata, так и raw. Так и просто ссылка на данные в перманентных таблицах. Также писатель и читатель могут вызывать процедуры, а не непосредственно ссылаться на очередь. Вариантов версионировать метаданные множество.
4) Подписка нормальный способ для внешнего обработчика. Внутренний plsql-callback использует до 20 обработчиков на всю БД и не управляется нормально. Кроме того, может молча перестать работать при временно инвалидации обработчика. Проще держать джобы с ожиданием dequeue.
5) можно
...
Рейтинг: 0 / 0
самописная таблица-очередь и select for update
    #39706932
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав ЛюбомудровА что, кляуза WAIT не работает со SKIP LOCKED ?
Может все-таки обратится к первоисточнику?А какой смысл в wait X skip locked?
...
Рейтинг: 0 / 0
самописная таблица-очередь и select for update
    #39706956
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-,

большое спасибо!
есть ли (кроме доки) примеры/ссылка хорошая - где почитать, как все это правильно развернуть, чтобы не наступить на известные грабли?
...
Рейтинг: 0 / 0
самописная таблица-очередь и select for update
    #39707090
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexus12есть ли (кроме доки) примеры/ссылка хорошая - где почитать
С доки начните.
В свое время мне ее вполне хватило.

Сложности - в основном, связаны с администрированием AQ.
На память:
- Как-то админ решил снести схему, содержащую очереди, посредством каскадного drop. 9i или 10g - не помню уже.
Было смешно - юзера нельзя снести поскольку в словаре остались очереди (не охвачены cascade), а очереди снести нельзя, поскольку уже не существовало базовых таблиц очередей.
Хотя с тех пор, возможно, кое-какую защиту от дурака и предусмотрели.
- Традиционные хлопоты с распуханием сегментов данных, если подписчик не вычитывает очередь.
- Следует подбирать AQ_TM_PROCESSES под нагрузку
- Не следует пихать в очереди "Войну и Мир" - по возможности следует обойтись ссылками на крупные таблицы.

Если решите гонять объектные типы - то создавать их следует с явным указанием OID.
Если решите использовать RAW - придется продумать формат хранения и методы преобразований. Это не вполне тривиальное упражнение, требующее не только некоторых специальных знаний, но и серьезного тестирования.
...
Рейтинг: 0 / 0
самописная таблица-очередь и select for update
    #39707144
SkilledJunior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexus122) Кол-во работ (SQL) в каждой заявке разное, время на их исполнение достаточно велико (от минут до часов)
Как думаешь, если запустишь параллельно десять DML, каждый из которых работает час, сколько они будут отрабатывать параллельно?
...
Рейтинг: 0 / 0
самописная таблица-очередь и select for update
    #39707151
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SkilledJuniorAlexus122) Кол-во работ (SQL) в каждой заявке разное, время на их исполнение достаточно велико (от минут до часов)
Как думаешь, если запустишь параллельно десять DML, каждый из которых работает час, сколько они будут отрабатывать параллельно?
А что, у Вас есть универсальный ответ?
...
Рейтинг: 0 / 0
самописная таблица-очередь и select for update
    #39707176
SkilledJunior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymousА что, у Вас есть универсальный ответ?
У Нас нет, у ТС-а наверное есть))

Если у ТС-а нет ответа, то хоть две очереди, хоть десять, его не спасут.
...
Рейтинг: 0 / 0
самописная таблица-очередь и select for update
    #39707237
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SkilledJunior,

соль в том, что DML исполняется не в той же СУБД, в которой живут очереди, а в разных (в т.ч. не оракл), и их много, и у каждой своя квота на кол-во одновременных.
...
Рейтинг: 0 / 0
10 сообщений из 60, страница 3 из 3
Форумы / Oracle [игнор отключен] [закрыт для гостей] / самописная таблица-очередь и select for update
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]