Replies: 1 comment 14 replies
-
Could you please share your code? Its difficult to say whitout seeing it. Send method allows you to send a message asynchrounously. see documentation for the details https://docs.ergo.services/basics/process#process-states |
Beta Was this translation helpful? Give feedback.
14 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi,
just tried to dive into this framework (never had experience with the Erlang/OTP) and faced a strange issue.
I tried to create a chain of synchronous calls based on the generated code (application-supervisor-3 actors, just calling one another: A->B->C with the returning of answer C->B->A).
But every call is rejected with "not allowed". As I understand, this is due to the process status. At the same time, the process should wake up if there is something in the mailbox.
I may be missing something, but how can something be added to the mailbox if the very operation of adding to the mailbox checks a status that returns
false
due to the sleeping process because there are no messages in the mailbox?Send
, meanwhile, usesIsAlive
, which allows theSleep
status, and therefore it works stably (but it doesn’t return a response, so it’s not quite suitable for my task).So, the questions here are next:
Would you kindly to tell me, please, is there any description of the difference between
Send
andCall
?And if it is expected behaviour of
Call
, then is there something that should be done to wake up the actor?Thank you for attention to this matter.
Beta Was this translation helpful? Give feedback.
All reactions