Добрый день.
Возникла следующая проблема:
Существовал бизнес процес, по которому было много документов.
Процесс изменили вместе с изменением внутренней логики, соответственно изменился порядок и количество задач в процессе.
Вопрос:
1. Как можно корректно завершить старые процессы (т.е. сохранить процесс_old) и паралельно запускать новые процессы.
2. Как изменить текущий процесс со старого на новый.
По пункту 1 сделал так:
- создал копию процесса = процесс_new и опубликовал, в таблице SysSchemaInSolution откатился до предыдущей версии процесса.
- Переименовал процесс в процесс_old и опубликовал.
- Переименовал процесс_new в процесс и опубликовал.
- в таблице [SysModuleAction] изменил ссылку действия на новый процесс.
Все заработало.
Но проблема по пункту 2 осталась. как изменить ID процессов запущенных с момента обновления сервиса до изменения его ID
Нравится
Здравтсвуйте, Илья!
При старте процесса он сериализуется в БД, таким образом, при внесении изменений в схему процесса, запущенный процесс будет выполниться по тому сценарию, который был на момент его запуска и корректно подменить эти данные не представляется возможным.
Илья, можете попробовать поменять [SysSchemaId] и [Name] в таблице [SysProcess], но не уверен, что изменение [SysSchemaId] не приведет к нарушению работы процесса.
Во всяком случае, при изменении [Name] Вы будете видеть, где какой процесс.