Может ли одна задача viewflow иметь несколько следующих переходов состояний? - PullRequest
0 голосов
/ 01 февраля 2019

Конечный автомат может переходить в несколько следующих состояний.Так, например, из State1, машина перейдет в State2 по заданному входу A, или перейдет в State2 по заданному входу B и так далее.Возможно ли это с помощью django-viewflow?

NB1 Я знаю, что возможно «разделить» рабочие процессы.Это отличная функция, но это не то, что я ищу.Разделенные рабочие процессы предоставляют несколько одновременных рабочих процессов, причем все они выполняются индивидуально.Я ищу способ выбора между различными отдельными рабочими процессами, где будет выбираться и выполняться только один рабочий процесс в зависимости от полученного ввода.

NB2 Может быть возможно достичь того, что яхочу использовать если шлюзы.Предположительно, можно хранить флаг где-то в зависимости от пользовательского ввода, который затем проверяет узел If и использует, чтобы определить, какую ветвь активировать.Это рекомендуемый способ продолжения?Если да, есть ли конкретные примеры кода, демонстрирующие, как это сделать?В идеале я не хочу хранить такую ​​информацию о рабочих процессах как флаг в моих основных моделях - действительно, я вообще не хочу хранить этот эфемерный выбор в долгосрочной перспективе.Так есть ли другие способы достижения того, чего я хочу?

1 Ответ

0 голосов
/ 04 февраля 2019

Одним из преимуществ BPMN является то, что он заставляет программировать поток таким образом, что все решения о процессах хранятся постоянно и доступны для дальнейшего анализа производительности процесса.Пропуск магазина решений - это антипаттерн.В тех случаях, когда таких решений много, в django это довольно легко реализовать, добавив поле JSON в модель процесса.

Но viewflow настраивает все.Выбор перехода может быть реализован путем переопределения класса активации done / activ_next.

...