-
Notifications
You must be signed in to change notification settings - Fork 63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Waiting for actor to finish #51
Comments
Hi @kevincolyar, There is no guarantee of message delivery order in Thespian. Most of the time they will be delivered in the order sent, but there are cases where message arrival doesn't match the send order. There should be affect on the message ordering when using the ActorTypeDispatcher. There are a couple of different approaches I would recommend for this situation:
I'd be happy to describe any of the above in further detail if you'd like. Also, I apologize for not responding earlier: using the issue tracker at https://github.com/kquick/Thespian may be a little faster for responses. |
Thanks for your detailed answers, Kevin. I was actually able to convert my SaveCalculation actor to a troupe which can now keep up with the CaclulcationActor. Works great! Thanks again for Thespian! |
That's great news, and you're welcome: I'm glad it's useful for you. |
I have a simple two actor setup:
Once the CalculationActor is finished, I would like the system to shutdown.
However, the CalculationActor finishes well before the SaveActor has received and processed all of its messages. I've tried sending an ActorExitRequest once the CalculationActor is done, which also sends an ActorExitRequest to the SaveActor, but it appears that the exit message is received before the messages to save and exits before all messages have been saved.
Is the due my SaveActor being a ActorTypeDispatcher? Perhaps ActorExitRequest is not queued behind the other messages?
Is there a pattern for shutting down the system after all actors have finished processing?
The text was updated successfully, but these errors were encountered: