2008-12-01 5 views
1

У меня возникла довольно сложная проблема. У нас есть рабочий процесс утверждения OOTB, который регистрирует всю историю рабочего процесса в списке истории рабочих процессов. Этот список очищается каждые 60 дней. Чтобы увеличить этот период времени, в течение которого история рабочего процесса сохраняются, я гугл вокруг и обнаружил, что я запускаю этот код:Тестирование истории рабочих процессов Autocleanup

с помощью (SPSite wfSite = новый SPSite (SiteURL)) {

using (SPWeb wfWeb = wfSite.OpenWeb(webName)) 

{ 

    SPList wfList = wfWeb.Lists[listName]; 

    SPWorkflowAssociation _wfAssociation = null; 

    foreach (SPWorkflowAssociation a in wfList.WorkflowAssociations) 

    { 

     if("approval 1" == wfAssociationName.ToLowerInvariant()) 

     { 

      a.AutoCleanupDays = newCleanupDays; 

      _wfAssociation = a; 

      assoCounter++; 

     } 

     else 

     { 

      _wfAssociation = a; 

     } 

    } 

    wfList.UpdateWorkflowAssociation(_wfAssociation); 

} 

}

Код работает отлично, в том смысле, что он не выбрасывает никаких исключений. Все идет нормально. Но теперь моя проблема в том, что мне нужно проверить, работает ли мой код. Поэтому я устанавливаю переменную newCleanupDays равным 0. Но я вижу, что новые рабочие процессы по-прежнему регистрируются в списке истории рабочих процессов. Я могу установить переменную в 1, но это означало бы ожидание целого дня, чтобы увидеть, работает ли код.

Есть ли способ проверить мой сценарий, чтобы я мог установить дни автозапуска для 1 , и мне не нужно ждать целый день, чтобы увидеть, работает ли мой код? Могу ли я «обмануть» систему, думая, что прошло 1 день? Я попытался изменить системное время и перезапустить сервер и все, но это не сработало для меня.

ответ

2

Изменение системного времени должно работать, но вам нужно будет запустить задание таймера, которое инициирует рабочие процессы. Не перезапускайте сервер после изменения времени.

Одно предупреждение заключается в том, что SharePoint действительно действительно не любит путешествовать во времени. Все документы, созданные в «будущем», будут иметь проблемы. Поэтому не забудьте протестировать новый веб-сайт, который можно удалить, когда вы вернетесь к «сейчас».

+0

Спасибо за ответ, как мне начать работу по таймеру? Будет ли «STSADM -o execadmsvcjobs» выполнять эту работу? – ashwnacharya 2008-12-02 04:09:21

Смежные вопросы