Mam nieznaną liczbę zadań do wykonania przez znaną (oczywiście) liczbę aktorów. Początkowa liczba zadań może wzrosnąć po tym, jak aktor zakończy pracę. Oznacza to, że po zakończeniu zadania aktor może dodać nowe zadanie do wykonania.Jak sprawdzić, czy aktor jest bezczynny?
Sposób, w jaki to robię, polega na tym, aby każdy aktor wysłał komunikat do kapitana, gdy zakończy swoją pracę, nie tylko z wynikiem wykonania, ale także z "flagą" wskazującą, że aktor jest teraz bezczynny . Mistrz ma kolejkę zadań i kolejkę bezczynnych aktorów, ilekroć aktor przesyła komunikat "ukończone zadanie", mistrz sprawdzi, czy jest coś jeszcze do zrobienia ... tak dalej i tak dalej, aż do kolejki zadań jest pusty i kolejka jałowych jest pełna ... w tym momencie zamykam system. Tu nie ma większego nadzoru, więc czuję, że nie robię tego właściwie ...
Nie używam routera, ponieważ nie mogłem znaleźć sposobu na zapytanie o router dla bezczynnych aktorów, więc moje pytanie brzmi:
Jaki jest "właściwy" sposób postępowania z sytuacją opisaną powyżej w Akce?
Przeszedłem przez routing Akki i dlatego zdecydowałem się nie używać routera (może powinienem napisać własny), ponieważ nie mogę zapytać routera o stan bezczynności pracowników (może jestem w błędzie, czy mógłbyś wskazać mi gdzie na które patrzysz?) – DodoTheDeadDoo
Nie znaczy nacisnąć ...W każdym razie, zagłębię się w rozwiązanie z trucizną pigułką, to jest jak to, co teraz robię, nie zabijam pracownika, którego właśnie ustawiłem, żeby był bezczynny, aby mógł być ponownie wykorzystany ... kiedy nie mam więcej zadań I wszyscy pracownicy są bezczynni, niż wiem, że jestem skończony. – DodoTheDeadDoo
Więc napiszę własny router :) – DodoTheDeadDoo