You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We know that in Pitaya, processing a user's message may occur in different goroutines, which can cause some issues.
For example, if a user sells an item and obtains coins, having enough coins to purchase another new item, and then they buy the new item.
If the selling operation and the buying operation are handled in different goroutines, and the purchase operation is processed first, the purchase will fail due to insufficient coins.
To address this, we introduced AgentDispatch, which puts the processing of each user's received messages into the same goroutine (though we are not sure if this approach has any issues).
However, the problem still exists when players perform actions in the game server, and we use Pitaya.RPC to return the results to the player data server, where the RPC messages are processed in different goroutines.
Therefore, we have to add a message queue to handle this in AgentDispatch.
I don't believe this is a good solution. I would like to know how you handle the order problem with Handle, or if you don't have such an issue at all.
The text was updated successfully, but these errors were encountered:
We know that in Pitaya, processing a user's message may occur in different goroutines, which can cause some issues.
For example, if a user sells an item and obtains coins, having enough coins to purchase another new item, and then they buy the new item.
If the selling operation and the buying operation are handled in different goroutines, and the purchase operation is processed first, the purchase will fail due to insufficient coins.
To address this, we introduced AgentDispatch, which puts the processing of each user's received messages into the same goroutine (though we are not sure if this approach has any issues).
However, the problem still exists when players perform actions in the game server, and we use Pitaya.RPC to return the results to the player data server, where the RPC messages are processed in different goroutines.
Therefore, we have to add a message queue to handle this in AgentDispatch.
I don't believe this is a good solution. I would like to know how you handle the order problem with Handle, or if you don't have such an issue at all.
The text was updated successfully, but these errors were encountered: