С прошлой недели у нас возникли проблемы в нашей производственной среде. Каждый раз, когда экземпляр рабочего процесса задерживается, после вызова действия Delay он никогда не возобновляется WF.
Мы работаем с сервисом WF, размещенным в IIS, и нацелены на .NET Framework 4.6.1. Рабочие процессы выполняются долго, и sqlWorkflowInstanceStore представляет собой SQL Server 2014 (SP3-CU3).
Проблема возникает только в производственной среде, где у нас есть 4 разных сервера IIS (владельцы экземпляров), на которых работает наша служба WF.
Когда мы запускаем профиль SQL Server, мы видим, что sp [System.Activities.DurableInstancing]. [DetectRunnableInstances] не вызывается в рабочей среде, однако он вызывается в других средах, где все работает.
Не уверен, что они актуальны, но вот наши параметры конфигурации sqlWorkflowInstanceStore (одни и те же параметры используются во всех средах):
<sqlWorkflowInstanceStore connectionString="Data Source=.;Initial Catalog=WwfPocSQLPersistenceStore;Integrated Security=True;Asynchronous Processing=True"
instanceEncodingOption="None"
instanceCompletionAction="DeleteAll"
instanceLockedExceptionAction="BasicRetry"
hostLockRenewalPeriod="00:00:30"
runnableInstancesDetectionPeriod="00:00:02" />
<workflowIdle timeToUnload="0" />
Мы можем видеть все наши неактивные экземпляры в [Система. Activities.DurableInstancing]. [InstancesTable] со столбцом PendingTimer, для которого заданы значения с истекшим сроком действия.
У нас нет ошибок в наших журналах, и я считаю (?), Что ничего не происходит. Но по какой-то причине наше приложение SqlWorkflowInstanceStore не опрашивает базу данных instancestore, чтобы определить, есть ли запущенные экземпляры. В документах я ничего не нашел о том, что могло бы вызвать отсутствие опроса после запускаемых экземпляров.
Я сравнил платформы .NET Framework и версии SQL Server между отказавшими и отсутствующими средами и не обнаружил различий.
Что может быть причиной этого беспорядка, приводящего к краху всей производственной системы?
Кто-нибудь знает, выпустила ли MS код WF с открытым исходным кодом?