我正在开发一个用于 Discourse 重建的插件,目前进展非常顺利。现在让我头疼的问题是:我有一个状态页面,会在升级过程中实时更新进度。但这个过程耗时较长,我怀疑由于页面上没有活动,消息总线(message bus)最终会超时。如果用户离开页面后再返回,一切又恢复正常。
有什么办法可以解决这个问题吗?比如在页面中加入某种机制,每隔 5 分钟自动刷新一次?
我正在开发一个用于 Discourse 重建的插件,目前进展非常顺利。现在让我头疼的问题是:我有一个状态页面,会在升级过程中实时更新进度。但这个过程耗时较长,我怀疑由于页面上没有活动,消息总线(message bus)最终会超时。如果用户离开页面后再返回,一切又恢复正常。
有什么办法可以解决这个问题吗?比如在页面中加入某种机制,每隔 5 分钟自动刷新一次?
MessageBus 会从断开的连接等情况中恢复,也许您的频道名称在重新加载时发生了变化?
所以 MessageBus 应该持续更新页面,即使浏览器处于空闲状态?REQUEST_QUEUE_SECONDS 是做什么的?(哦,只有在服务器过载时才起作用?)
但是……看起来我的问题可能是有不该推送的内容被推到了 MessageBus。由于 Rails、Ember 和 Ansible 都在起作用,我很难确定该怪谁。![]()
消息总线失败次数越多,其退避时间就越长:
也许你曾遇到它长时间失败的情况,导致退避时间变得过大。
嗯,不。我想我完全没明白问题出在哪里。从一开始我就以为它只是某个时候停止响应了,但我错了。非常感谢,我真的很感激。