Многопользовательский, параллельный и динамический рабочий процесс в Django
Я ищу лучшее решение для разработки движка рабочего процесса на Django (Django-Rest-Framework) по следующим требованиям :
- опции проверки прав доступа/назначения задач
- Параллельные рабочие процессы позволяют иметь несколько активных задач одновременно и, возможно, имеют какую-то функциональность параллельной синхронизации/соединения .
- динамические рабочие процессы обычно могут быть настроены путем изменения содержимого таблиц базы данных рабочего процесса
Подход, который я нашел:
- один подход - BPMN движки, и использование пакета SpiffWorkflow (который является чистым питоном, а не Django) .
- другой подход - использовать camunda API (может создать ограничения)
- или использовать пакеты рабочих процессов на основе Django, в которых я не нашел пакета, поддерживающего многопользовательские (разрешения) & параллельные & динамические рабочие процессы .
Какое лучшее решение для этой проблемы?
Я решил эту проблему с помощью пакета django goflow (github). Этот пакет поддерживает :
- проверка прав доступа по группе пользователей
- назначение задания конкретному пользователю или группе (push and pull strategeis)
- динамический дизайн позволяет изменять шаги рабочего процесса, переходы, разрешения, ...
- Исключительный шлюз (xor шлюз) и параллельный шлюз (и шлюз)
- Любой тип событий (сообщение, таймер, ошибка, ...)