Урок 5. Возобновление приостановленного рабочего процесса в AppFabric
Цель: остановка и перезапуск сбойного рабочего процесса.
Задача:понять, как Microsoft AppFabric 1.1 для Windows Server сохраняет бездействующие или приостановленные экземпляры, и как восстановить приостановленный рабочий процесс.
Предварительные условия
Необходимо развернуть приложение HRApplicationServices. Дополнительные сведения см. в разделе Урок 2. Развертывание службы рабочих процессов HRApplicationServices.
Следует включить наблюдение и сохраняемость. Дополнительные сведения см. в разделе Урок 3. Настройка приложения HRApplicationServices.
Имитация приостановленного рабочего процесса
Чтобы увидеть AppFabric в действии, потребуется имитировать нарушение в работе процесса. Если происходит ошибка, рабочий процесс приостанавливается. Для имитации мы временно "нарушим" работу приложения HRApplicationServices, переименовав папку \mailbox в \mailbox2.
Прерывание рабочего процесса HRApplicationServices
Перейдите в корень жесткого диска системы.
Переименуйте почтовую папку из \mailbox в \mailbox2
В Internet Explorer введите или вставьте следующий URL-адрес приложения:
https://localhost/HRApplicationServices
В форме заявки укажите образование как Masters (Магистр).
Нажмите кнопку Apply (Отправить).
В проводнике откройте папку mailbox2. Обратите внимание, что файл сообщения не создан.
Просмотр и восстановление приостановленного рабочего процесса
Теперь, когда ход рабочего процесса нарушен, AppFabric материализует приостановленный рабочий процесс. После исправления приложения процесс можно восстановить.
Просмотр приостановленного рабочего процесса
Откройте диспетчер IIS.
В окне Подключения перейдите к узлу HRApplicationServices. Щелкните узел, чтобы его выбрать.
Дважды щелкните значок AppFabricПанель управления.
В группе Материализованные экземпляры WF имеется один приостановленный экземпляр. Обратите внимание, что не указаны исключения службы или пользовательские ошибки. Причина в том, что пример приложения не порождает ошибку, перехватываемую клиентом. Поскольку ход рабочего процесса все же нарушен, AppFabric материализует приостановленный рабочий процесс.
В группе Материализованные экземпляры WF дважды щелкните приостановленный экземпляр SubmitApplication.xamlx. Материализованный экземпляр отображается в списке с состоянием Приостановлен.
Щелкните правой кнопкой мыши приостановленный экземпляр, а затем выберите команду Просмотр отслеживаемых событий. (Другие варианты — продолжить, отменить, завершить или удалить.)
В списке отслеживаемых событий щелкните событие со значком Error. В расположенном ниже разделе Подробно приведены сведения о выбранной ошибке.
Перейдите на вкладку Ошибки.
Обратите внимание на текст исключения. В нем имеются следующие сведения:
System.Net.Mail.SmtpException: Сбой при отправке сообщения электронной почты. ---> System.IO.DirectoryNotFoundException: Не удалось найти часть пути "c:\mailbox
В этом сценарии таких сведений достаточно для устранения ошибки в приложении. AppFabric фиксирует текст исключения для анализа.
Откройте проводник и переименуйте папку из \mailbox2 в \mailbox.
Вернитесь к панели мониторинга AppFabric.
Правой кнопкой мыши щелкните панель мониторинга и выберите команду Панель мониторинга AppFabric.
В группе Материализованные экземпляры WF дважды щелкните приостановленный экземпляр SubmitApplication.xamlx.
Щелкните приостановленный экземпляр правой кнопкой мыши и выберите команду Продолжить.
Через несколько секунд снова щелкните его правой кнопкой мыши и выберите в контекстном меню команду Обновить.
В проводнике откройте папку mailbox. Обратите внимание, что теперь в ней появился новый файл.
Дважды щелкните его, чтобы открыть, и щелкните ссылку Review the application. (Если у вас нет почтовой программы, откройте сообщение в Блокноте и вставьте URL-адрес в браузер для просмотра сообщения. URL-адрес аналогичен следующему:
https://localhost/HRApplicationServices/HireApproval.aspx?AppID=23
Обратите внимание, чтоAppID
равняется идентификатору соискателя.)На странице HTML нажмите кнопку Hire (Принять), чтобы утвердить заявку. Откройте папку mailbox и обратите внимание на итоговый файл сообщения. Открыв его, можно видеть приятное известие.
Вернитесь к панели мониторинга AppFabric.
Правой кнопкой мыши щелкните панель мониторинга и выберите команду Обновить. Панель обновится, и бездействующий экземпляр исчезнет из столбца Активные или бездействующие экземпляры.
Чтобы было сделано?
Было имитировано нарушение, приводящее к приостановке рабочего процесса. После исправления приложения процесс был возобновлен через панель мониторинга.
См. также
Основные понятия
Урок 1. Начало работы
Урок 2. Развертывание службы рабочих процессов HRApplicationServices
Урок 3. Настройка приложения HRApplicationServices
Урок 4. Наблюдение за работоспособностью приложения HRApplicationServices
Урок 5. Возобновление приостановленного рабочего процесса в AppFabric
2012-03-05