首先是我想要实现的一点。我在流框架库之上构建了一个 django 包装器。有 2 个提要类 -FlatFeed(RedisFeed)
和AggregatedFeed(RedisAggregatedFeed)
. 显然,这些都是使用 Redis 来存储提要数据。我还实现了我自己的聚合器类。
错误:生成的聚合提要不包含所有活动,而平面提要包含所有活动。用例是 - 有 3 个用户 A、B 和 C。B 和 C 执行一些活动,然后用户 A 跟随 B 和 C。用户 B 和 C 继续执行更多活动。A 的平面提要包含 B 和 C 的所有活动,但 A 的聚合提要有一些丢失的活动。
例如,
B likes products 1, 2, 3, 4
C likes products 5, 6, 7, 8, 9, 10
A follows B
A follows C
flat_feed(A) 有所有活动,但aggregated_feed(A)
只有 1、5 和 8 个喜欢。我多次重复这个用例,每次只有这 3 个活动来。
我已经在 django shell 上测试了我的聚合器类实现。聚合和合并函数的输出包含所有活动。
请帮忙 !!
请注意,固定提要有正确的条目,缺少的条目仅在汇总提要中。