
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
01.12.2017, 18:31
|
|||
|---|---|---|---|
|
|||
Непонятка с вычиткой AQ по условию c tab.ENQ_TIME |
|||
|
#18+
Есть некоторая интеграционная связка между БД при помощи AQ, разбор сообщений из очереди многопоточный, а нужно обеспечить FIFO обработку сообщений отправляемых бизнес процессом, для этого сделал прикладной функционал, который разбирает сообщения и по системным тегам определяет, нужно его обрабатывать или ещё рано , т.к. не обработались другие и если рано закидывает сообщение обратно в очередь. Соответственно тут же вычитывать сообщение не надо и надо , что бы оно вылежалось. Для этого добавляю в correlation метку о том, что это повтор и ставлю условие (с костылём на таймзону +3 часа) tab.enq_time < sysdate - ((3/24) + (5/(24*60*60)) ) Выборка на прямую прекрасно работает: select * from ibs.aq_quo_in_tbl tab where tab.enq_time < sysdate - ((3/24) + (5/(24*60*60))) Если ставлю как условие, то сообщение не вычитывается, подскажите в чём нюанс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2017, 21:31
|
|||
|---|---|---|---|
Непонятка с вычиткой AQ по условию c tab.ENQ_TIME |
|||
|
#18+
Sandro74и если рано закидывает сообщение обратно в очеред Код: plsql 1. и пусть лежит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.12.2017, 09:43
|
|||
|---|---|---|---|
|
|||
Непонятка с вычиткой AQ по условию c tab.ENQ_TIME |
|||
|
#18+
Спасибо за ответ. Рассматривал такой вариант на крайний случай, но не хотелось бы. Вкратце, решение интеграции коробочное и данный функционал наша локальная "нашлёпка" и делать возврат сообщения в очередь из прикладного интерфейса, то не придётся ломать текущую архитектуру и плодить локальные решения. Да и интересно понять, почему так странно селектор себя ведёт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.12.2017, 01:34
|
|||
|---|---|---|---|
Непонятка с вычиткой AQ по условию c tab.ENQ_TIME |
|||
|
#18+
Sandro74, а что мешает при постановке сообщения назад в очередь выставить ему delay = 300 (5 минут) в message_properties? Тогда никакие костыли в dequeue не потребуются, сообщение просидит в очереди указанное количество секунд с состоянии ожидания, после чего перейдёт в состоянии готовности и будет доступно для выборки - как раз то, что Вам нужно, как я понимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=52&tablet=1&tid=1884798]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
77ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
2ms |
| others: | 242ms |
| total: | 410ms |

| 0 / 0 |
