需求是这样的,后台配置时间,然后给用户发消息。 在用户关注后,根据这个时间发消息 比如 5s,发送一条数据 10s,发送一条数据。
现在用的定时任务处理,这样大概会有 1 分钟左右误差。
如果将定时任务设置成秒级,则 1s 中处理不完业务。
如果用延迟队列。 用户关注,然后扫配置表,把用户 ID+延迟时间写入 redis zset 。然后一直消费这个有序队列。 这样存在一个问题,如果管理员修改后台配置信息,我就需要批量修改 zset 里边的时间。
也就是需要修改整个公众号所有的 zset 数据。
有什么简单一些的方案吗
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.