|
MQSeries смщенное OnLine чтение при асинхронной загрузке
|
|||
---|---|---|---|
#18+
Насколько тривиальна задача организации чтения очереди сообшений в MQSeries, со строго установленной задержкой относительно объективного времени(времени события отраженного в сообшении, а не времени постановки сообщения в очередь). ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2004, 09:43 |
|
MQSeries смщенное OnLine чтение при асинхронной загрузке
|
|||
---|---|---|---|
#18+
по рускки скажи, что ли... PutDate, PutTime в MQMD не являются селекторами. любое MOM это асинхронная система, а не синхронная. ни о какой строго установленной задержке речи не идет. В поля MsgId и CorrelId можно записать что угодно. хоть дату и время. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2004, 10:58 |
|
MQSeries смщенное OnLine чтение при асинхронной загрузке
|
|||
---|---|---|---|
#18+
в общем, фигня твоя задача... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2004, 11:05 |
|
MQSeries смщенное OnLine чтение при асинхронной загрузке
|
|||
---|---|---|---|
#18+
По русски: идут себе сообщения с информацией о событии внутри этих сообщений есть время события(200401012117), сообщения о событиях с таким временем могут быти поставлены в очередь в 21:18 или в 21:52 или 22:13, в общемм с какой попало задержкой (в разумных пределах - до одного часа) но все сообшения с временем события 200401012117 нужно вытащить в 2004/01/01 22:17, события со временем 200401012118 в 2004/01/01 22:18 и т.д. Нужна вся эта бодяга чтобы иметь объективную (на 99%) модель с задержкой в 1час от реального времени но каждую минуту. к информации в среднем в секунду регистрируется 4-10 событий (345600-864000 в сутки), следовательно времени для проволочек нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2004, 12:43 |
|
MQSeries смщенное OnLine чтение при асинхронной загрузке
|
|||
---|---|---|---|
#18+
так бы сразу и сказал. кода делаешь MQPUT или MQPUT1, запиши в CorrelId дату и время, когда ты хочешь обработать сообщение. а на обратном конце в MQGET в CorrelId задай текушее время. т.е в 200401012117 нужно вытащить в 2004/01/01 22:17 ты ждешь сообщение с CorrelId '2004010121172004/01/01 22:17' это так, примерно. чтоб не ломать уже готовые приложения, напиши пару брокеров -- на входе и на выходе. на входе -- идут себе сообшения, попадают в очередь. попало соощение в очередь, стартует брокер по триггеру. он смотрит сообщение, проставляет CorrelId и перекладывает его в другую очередю. на входе -- лежат себе сообщения а очереди. очередь слушает брокер. в '200401012117 2004/01/01 22:17' он читает сообщение c CorrelId '200401012117 2004/01/01 22:17' в '200401012117 2004/01/01 22:18' он читает сообщение c CorrelId '200401012117 2004/01/01 22:18' когда брокер прочитал сообщение, он перекладывает его в другую очередь. после этого по триггеру стартует приложение, которому педназначалось сообщение 10 сообщение в секунду -- это ерунда. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2004, 13:27 |
|
MQSeries смщенное OnLine чтение при асинхронной загрузке
|
|||
---|---|---|---|
#18+
правда, когда 36000 соощений в очереди, выборка по CorrelId выполняется долго. но можно увеличить кол-во очередей, чтоб где-то по 10000 сообщений. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2004, 13:42 |
|
|
start [/forum/topic.php?fid=43&fpage=157&tid=1606349]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 134ms |
0 / 0 |