实时更新不会在批量添加活动时触发

时间:2019-01-30 09:45:42

标签: javascript php getstream-io

我们正在项目后端使用Stream的PHP实现,使用$batcher->addToMany()一次向多个供稿批量添加活动。

我们面临的问题是,即使这些活动出现在用户的通知供稿中,它们也不会在faye频道上触发实时更新。

使用$feed->addActivity()向Feed中添加活动会触发监听器。

这是Stream中的错误还是不可用的功能?

运行Stream的PHP实现以将活动添加到用户通知供稿。在前端使用JS收听相同的提要。我尝试使用addActivity()将完全相同的活动元素添加到单个提要中,并且实时更新功能按预期工作。

private function add_notification_activity( $feed_user_id, $data ) {
    try {
        $notification = $this->client->feed( 'notifications', $feed_user_id );
        $notification->addActivity( $data );
    } catch ( StreamFeedException $e ) {
        $this->catch_stream_exception( $e );
    }
}

private function batch_add_activity( $activity, $feeds ) {
    try {
        $batcher = $this->client->batcher();
        $batcher->addToMany( $activity, $feeds );
    } catch ( StreamFeedException $e ) {
        $this->catch_stream_exception( $e );
    }
}

add_notification_activity会按预期触发实时更新侦听器。

batch_add_activity将完全相同的活动添加到多个Feed中(在Stream feed资源管理器视图中确认),但不会触发实时更新侦听器。

1 个答案:

答案 0 :(得分:0)

批处理不会实时触发。我们目前无法全面启用它,否则可能会给当前使用它的客户带来意料之外的行为,而不希望它触发。我们把他们的是对您的组织。谢谢!