Closed MMMartt closed 4 years ago
我觉得理想的过程应该是这样的:
message -> mirai -> inQueue
queueUpdate -> trigger handlers
handling finished -> update queue, send msg, update data & etc...
如果这样的话,保证好 mirai -> inQueue 这一块没有问题后(应该很简单)。
接下来本地只要弄个假队列更新就可以直接调试了。现在这个样子感觉基本没啥问题,但是一个消息基本只能立即一个地方去处理,要多个 handler 处理的话逻辑可能就会乱。而且混起来的话搞起来感觉不是很方便。
感觉描述还是有点问题 queueUpdate触发handler的话实际上跟原来的event触发handler是一样的逻辑 最后还是用协程消费者生产者的模型解决了
我觉得理想的过程应该是这样的:
message -> mirai -> inQueue
queueUpdate -> trigger handlers
handling finished -> update queue, send msg, update data & etc...
如果这样的话,保证好 mirai -> inQueue 这一块没有问题后(应该很简单)。
接下来本地只要弄个假队列更新就可以直接调试了。现在这个样子感觉基本没啥问题,但是一个消息基本只能立即一个地方去处理,要多个 handler 处理的话逻辑可能就会乱。而且混起来的话搞起来感觉不是很方便。