Javascript 主数据流升级重试?

Javascript 主数据流升级重试?,javascript,events,Javascript,Events,我有一个基本流,它允许我的模块订阅某些消息类型并发布消息。每个消息当前都有一个类型和关联的数据 当模块无法接受消息时,我需要重新启动该模块,并在重新启动时尝试向其发送消息。但是,每条消息可能有多个订阅者,但只有一个订阅者失败。我在实现这个部分时遇到了问题 我目前的想法是,每条消息都有一个订阅它的模块数组,当它成功地传递到一个模块时,该模块将从该数组中删除。然后,内核尝试重新加载模块,当模块重新加载时,内核将再次尝试传递消息 不过,这似乎有点骇人听闻。它向每条消息添加了大量数据,如果模块停止响应,

我有一个基本流,它允许我的模块订阅某些消息类型并发布消息。每个消息当前都有一个类型和关联的数据

当模块无法接受消息时,我需要重新启动该模块,并在重新启动时尝试向其发送消息。但是,每条消息可能有多个订阅者,但只有一个订阅者失败。我在实现这个部分时遇到了问题

我目前的想法是,每条消息都有一个订阅它的模块数组,当它成功地传递到一个模块时,该模块将从该数组中删除。然后,内核尝试重新加载模块,当模块重新加载时,内核将再次尝试传递消息

不过,这似乎有点骇人听闻。它向每条消息添加了大量数据,如果模块停止响应,可能会将消息流排队。另一个想法是一份白名单。。每条消息都以一个名为sent的空数组开始,接受该消息的任何模块都会添加到该列表中。核心然后重新启动并将消息重新发送到订阅该消息类型的任何模块

有没有更好的方法来解决这个问题

编辑:我应该注意,所有内容都是异步的。发布到流的消息在模块空闲之前不会发送到模块,重新加载模块可能需要几秒钟。唯一的即时部分是向模块发送消息-如果模块能够处理消息,则需要模块立即回复