javascript – Pubnub – 从很多频道组中删除了很多频道

我正在使用一种模式,其中每个用户都有自己的频道组,当他连接到某个聊天时 – 聊天被添加到后端的他的组中.这种方法允许用户同时连接到许多频道.

此外,我有一个调度程序,偶尔会批量删除聊天室所连接的数据库项目,所以我需要从用户的频道组中删除相关的频道.

问题是:

>我是否需要这样做以防止团体达到2k限制?或者非活动频道会自动销毁?
>渠道小组维护 – 如果我有2000个聊天室,每个大约50个用户:

一个.如何有效清理用户的频道组?

湾我可以以某种方式摧毁频道或立即从所有群组中提取它,所以我需要拨打2000个电话,或者我是否需要删除每个用户的频道组的频道,因此我必须立即拨打100 000个电话给pubnub ?

最佳答案 PubNub频道组

渠道组维护

>您需要跟踪通道组中的通道数.您可以使用列表通道API获取通道组中的通道列表,然后对返回的阵列执行计数/大小.
>在您的代码一次删除一个或客户端(订阅通道组)调用删除组API之前,不会从通道组中删除通道.再强调一下,您需要从客户端而不是服务器端执行此操作.
>清理通道组只是您在应用程序代码中实现的要求,而不是PubNub SDK或服务器自动化的要求.如果应从聊天室中删除用户,则从该用户的频道组中删除该频道.
>必须逐个从每个通道组中删除每个通道.
>从服务器端,为其所在的每个通道组调用从通道组中删除通道.这不会花费很长时间,即使它是10K的通道组.
>不建议将管理权限授予客户端,因为管理权限的持有者可以将他们想要的任何通道添加到他们具有读取权限的通道组,并开始在该通道上接收消息.

Proper functioning of channel groups is a mission critical…

渠道组按设计和预期工作.根据上面提供的指导,维护通道组中的通道无法做任何事情. PubNub不会自动化频道组中的频道.我建议您根据数据库更新提供一些信令,以便您可以保持客户的渠道组清洁.在您的应用服务器层(不在您的数据库层)中,您可以从成功的数据库提交中调用代码以进行更新,插入和删除,从而使您的通道组实时正确整理:)

发信号离线用户

当您发送信号或任何类型的消息并且订阅客户端碰巧处于脱机状态时,您的客户端代码可以通过在用户重新联机时收到错过的消息来处理此问题.只需启用Storage & Playback add-on并使用历史记录API即可获取自上次用户在线访问所有频道以来的消息.

点赞