Czy istnieje sposób wstrzymania/wznowienia działającego przepływu pracy utworzonego za pomocą łańcuchów z selekcji 3.0?Django Seler Workflow Chain Pause/Resume
Zasadniczo mamy dwa różne rodzaje zadań w naszym systemie: interaktywne i nieinteraktywne. Te nieinteraktywne, dla których mamy wszystkie parametry, ale te interaktywne wymagają wkładu użytkownika. Zauważ, że w przypadku zadań interaktywnych możemy poprosić użytkownika o wprowadzenie danych tylko wtedy, gdy wszystkie poprzednie zadania w łańcuchu zostały zakończone, ponieważ ich wyniki wpłyną na zadania interaktywne (tj. Nie możemy poprosić o dane wejściowe użytkownika przed utworzeniem rzeczywistego łańcucha).
Wszelkie sugestie, jak się do tego podejść? Naprawdę ze stratą tutaj ..
Aktualne pomysłów:
- Utwórz dwie podklasy zadań (z selera importu zadania). Dodaj zmienną dodatkowej instancji (członka klasy) do podklasy zadań interaktywnych, która jest domyślnie ustawiona na wartość false i oznacza, że niektóre dane wejściowe użytkownika są nadal potrzebne. Jakoś mieć dostęp do instancji zadania i ustawić ją na wartość true spoza pracownika selera (Chociaż trochę tego sprawdziłem i nie ma możliwości dostępu do obiektów zadań bezpośrednio z innego modułu)
- Podziel łańcuch na wiele łańcuchów rozdzielanych przez zadania interaktywne. Gdy jakiś łańcuch dotrze do końca, wykryje jakiś mechanizm znajdujący się poza robotnikiem selekcji i wywoła interaktywny komponent po stronie klienta interaktywnego zadania. Po wprowadzeniu przez użytkownika wszystkich tych danych, pobierz dane i uruchom nowy łańcuch, w którym zadanie interaktywne znajduje się na czele nowego łańcucha.