Understanding how signals work internally

I am going through course “Interacting with workflows”. And there i have found these statements

  1. A Signal is a message sent asynchronously to a running Workflow Execution which can be used to change the state and control the flow of a Workflow Execution. It can only deliver data to a Workflow Execution that has not already closed.
  2. In scenarios where a Workflow receives a high volume of Signals in a short period of time, it might not process all of them before attempting to complete or transition to another state. This situation leads to an UnhandledCommand error because Temporal expects all Signals (new Events) to be addressed before the Workflow can proceed or close.

I am trying to figure out why workflow responsible for processing signals does state transition with out processing them. I figured understanding underlying structure like where are signals (asynchronous messages) stored before they gets processed and when does signal methods get triggered in comparison to workflow task and activities might help me figure out the statement 2.
Please share if there are any resources i can go through to understand this.

Thanks.

1 Like