【问题标题】:Subscribe to nchan for new messages only订阅 nchan 仅接收新消息
【发布时间】:2017-05-16 04:26:59
【问题描述】:

我计划将 nchan 用于通知系统,在页面加载时客户端将订阅频道,然后发布者将发布到用户特定的频道,通知将通过 SSE 发送给客户端。

因此,我在使用此解决方案时面临的问题是,在首次订阅 nchan 时,它还会获取较旧的消息,这些消息在订阅频道之前已发布。虽然我可以使用基于时间戳的消息 ID 来过滤旧消息,但这需要客户端和服务器上的时钟同步,这很难实现。

因此,如果我可以采取任何配置或解决方法来实现这一点,请告诉我,这将有很大帮助。

【问题讨论】:

    标签: nginx notifications publish-subscribe


    【解决方案1】:

    我应该比实际更多地查看文档:)。
    我只需要将订阅者位置的 nchan_subscriber_first_message 设置为最新。

        nchan_redis_url "redis://localhost:6379/6";
        location = /sub {
                nchan_subscriber;
                nchan_channel_id  $arg_id;
                nchan_use_redis on;
                nchan_subscriber_first_message newest;
        }
    
        location = /pub {
                nchan_publisher;
                nchan_channel_id  $arg_id;
                nchan_use_redis on;
        }
    
        location = /pubsub {
                nchan_pubsub;
                nchan_channel_id  $arg_id;
                nchan_channel_group test;
                nchan_use_redis on;
                nchan_subscriber_first_message newest;
        }
    

    【讨论】:

      猜你喜欢
      • 2022-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多