Коллеги, здравствуйте!
Существуют 2 цепочки WF - одна генерит событие, вторая - ожидает событие.
Событие имеет параметры.
Соответственно, первая цепочка заполняет параметры, а вторая - при принятии события приверяет эти параметры и, если параметры не соответствуют, возвращает управление опять на ожидание события.
Таких пар цепочек очень много - скажем, 20 тыс.
Если сервер не загружен - все отрабатывает отлично. Если же загружен и события следуют одно за другим - происходит их пропажа.
Система ведет себя так: 1. Сгенерировано событие 2. Все 20 тыс цепочек сработали, увидели, что параметры не подходят, и отключились. И только одна цепочка отработала, т.к. параметры совпали.
Если же события идут одно за другим, то из-за загрузки сервера происходит длительный процесс проверки параметров события, и второе событие генерится тогда, когда почти все цепочки находятся в процессе проверки параметров предыдущего события. И это второе событие теряется.
Пока написал программу, запускаемую в фоне, которая проверяет статусы цепочек и, если цепочка находится не в том статусе - перезапускает ее.
Но, может быть, есть более корректное решение?
Спасибо!
С уважением! Виталий В.
|
|