24.12.2010, 17:53 | #1 |
Участник
|
Бизнесс-процессы в состоянии "Ожидание"
Добрый день.
Давно уже задавался вопросом : как сильно используют ресурсы сервера бизнес-процессы, которые находятся в состоянии "Ожидание". Дело в том, что меня всё-время уверяли, что их использование чревато сильной нагрузкой на оперативную память, т.е. все они висят в ней. Но сегодня наткнулся на эту статью, где сказано следуюющее "When the asynchronous operation is blocked, the Windows Workflow Foundation run-time engine puts the workflow instance into the Suspended state and removes it from the memory. When the Suspended state conditions are satisfied, the workflow instance is loaded back into the memory." Как я понимаю, это относится к БП, которые были переведены в ожидание в следствии условия внутри самого БП или из-за ошибки, которая произошла при его выполнении. Если БП свалился с ошибкой, то это дело такое, а вот на сколько целесообразно использовать "Ожидание события" или "Таймаут" в качестве шага БП? Какие могут быть последствия, если их будет много? |
|
24.12.2010, 22:35 | #2 |
Moderator
|
Нет, это обозначает что процессы в состоянии ожидания хранятся в базе и не загружаются в память. Проблема быстродействия заключается в том, что может тратиться много ресурсов на то, чтобы проверять не настало ли условие их разморозки. Например, вы ждете пока какое либо поле не получит нужное значение. В этом случае система раз в определенный промежуток времени будет вынуждена обращаться к базе и проверять текущее значение. Если таких процессов много, это может сказаться на быстродействии.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
25.12.2010, 10:17 | #3 |
Участник
|
Ясно. Спасибо. Чудес не бывает ((( Ну, а если Бизнес-процесс срабатывает по изменению атрибута записи, система ведь тоже должна проверять, изменилось ли значения атрибута каждый промежуток времени? Просто я не совсем понимаю разницу между Ожиданием, пока Атрибут 1 = Значение и срабатыванием по изменением Атрибута 1 с проверкой, "если то " для него.
|
|
25.12.2010, 15:25 | #4 |
Moderator
|
Разница принципиальная. Если запуск процесса настроен на изменение атрибута, то система создаст его экземпляр и запустит после сохранения записи. До этого момента экземпляр процесса просто не будет существовать. Другое дело, если вы создаете экземпляр процесса при создании записи, после чего он "спит и видит" как меняется нужный ему атрибут.
Иными словами, это либо срабатывание по событию (нажали на газ и машина тронулась) или ожидание события (смотрим на светофор и ждем когда можно нажать на газ).
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
|
За это сообщение автора поблагодарили: kabazakra (1). |
Теги |
crm, suspended, workflow, ожидание, бизнес-процессы |
|
|