We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
Actor: (bot5-assistant/Idle) + [bot5-assistant/MESSAGE] = (bot5-assistant/Parsing) ------------------------- WechatyActor<Mailbox> contexts.queueAcceptingMessageWithCapacity(Infinity) queue [cqrs-wechaty/SEND_MESSAGE_COMMAND]@x:5 for child(idle) WechatyActor<Mailbox> contexts.queueAcceptingMessageWithCapacity(Infinity) queue [wechaty-actor/BATCH]@x:5 for child(idle) WechatyActor<Mailbox> states.child.idle.on.NEW_MESSAGE (cqrs-wechaty/SEND_MESSAGE_COMMAND) WechatyActor<Mailbox> states.child.idle.on.NEW_MESSAGE (wechaty-actor/BATCH) WechatyActor<Mailbox> states.queue.checking.entry <- [DISPATCH(mailbox/NEW_MESSAGE)] WechatyActor<Mailbox> states.queue.checking.always -> dequeuing (queue size 2 > 0) WechatyActor<Mailbox> states.queue.dequeuing.entry [cqrs-wechaty/SEND_MESSAGE_COMMAND]@x:5 WechatyActor<Mailbox> states.queue.listening.entry WechatyActor<Mailbox> states.queue.checking.entry <- [DISPATCH(mailbox/NEW_MESSAGE)] WechatyActor<Mailbox> states.queue.checking.always -> dequeuing (queue size 1 > 0) WechatyActor<Mailbox> states.queue.dequeuing.entry [wechaty-actor/BATCH]@x:5 WechatyActor<Mailbox> states.queue.listening.entry WechatyActor<Mailbox> states.child.idle.on.DEQUEUE [cqrs-wechaty/SEND_MESSAGE_COMMAND]@x:5 WechatyActor<Mailbox> states.child.busy.entry DEQUEUE [cqrs-wechaty/SEND_MESSAGE_COMMAND] WechatyActor State.Preparing.entry WechatyActor State.Preparing.entry found Command/Query [cqrs-wechaty/SEND_MESSAGE_COMMAND] ______________________________ Wechaty: (wechaty-actor/idle) + [cqrs-wechaty/SEND_MESSAGE_COMMAND] = (wechaty-actor/preparing) ------------------------- WechatyActor State.Executing.entry EXECUTE [cqrs-wechaty/SEND_MESSAGE_COMMAND] ______________________________ Wechaty: (wechaty-actor/preparing) + [wechaty-actor/EXECUTE] = (wechaty-actor/executing) ------------------------- ______________________________ Wechaty: (wechaty-actor/executing) + [done.invoke.WechatyActor.wechaty-ac
We can see there's two NEW_MESSAGEs have been accepted by the Mailbox, which should be only accepted one:
WechatyActor<Mailbox> states.child.idle.on.NEW_MESSAGE (cqrs-wechaty/SEND_MESSAGE_COMMAND) WechatyActor<Mailbox> states.child.idle.on.NEW_MESSAGE (wechaty-actor/BATCH)
The text was updated successfully, but these errors were encountered:
atomic queue state management (#5)
398ad98
fix race condition bug of mailbox (huan/mailbox#5)
d108d15
Fixed by the Atomic wrapper PR #6
It seems that the event between parallel states can not guarantee atomic transitions.
parallel
Sorry, something went wrong.
No branches or pull requests
We can see there's two NEW_MESSAGEs have been accepted by the Mailbox, which should be only accepted one:
The text was updated successfully, but these errors were encountered: