Я попытался запустить новый экземпляр процесса HelloWorldFlow (демонстрация из ViewFlow) программно, а не через CreateProcessView, используя следующий код. Однако после выполнения кода я обнаружил, что ничего не сохраняется в базе данных.
flow_task = flow.Start()
flow_task.flow_class = HelloWorldFlow
act = activation.StartActivation()
act.initialize(flow_task, None)
# execute and save
act.prepare()
act.done()
Когда я попытался принудительно сохранить процесс, добавив act.process.save(), я обнаружил, что данные процесса сохраняются, но нет связанных задач (в отличие от экземпляра процесса, созданного из пользовательского интерфейса, с которым связана задача запуска)
# execute and explicit save
act.prepare()
act.process.save()
act.done()
Я попытался проследить код, но нигде в коде StartActivation не было ошибок, и поэтому я не могу найти ничего неправильного. Ценю любые указатели для меня, чтобы исследовать, почему код не ведет себя так, как ожидалось.