2016-08-26 3 views
1

状況:あなたが唯一の曲への反応を(動詞、例えば "のような"、 "嫌い" など)を追加することができます曲やプレイリスト Get-stream:2つのフォローリレーションによるアクティビティ伝播?

    • 二つのモデルを想像してみてください。
    • 各ソングは、集約された動詞をリストします。 2人のユーザーがこの曲を気に入っており、4人が嫌いでした。
    • 私は2つのフィードグループを設定:Song_aggregatedはSong_flatに追従しながらSong_flat(フラット)とSong_aggregated(凝集)
    • 動詞はSong_flatに添加されます。
    • これまでのところ、リアルタイム更新。

    チャレンジ:

    • プレイリストは、このプレイリストに曲を横切って(動詞によって再び)集約ビューを表示すべきです。
    • Playlist_flat(フラット)とPlaylist_aggregated(集約)
    • Playlist_flatはそれに関連付けられたすべてのSong_flatフィードに従います。 Playlist_aggregatedがPlaylist_flatに続きます。
    • 合計:Playlist_aggregated follows Playlist_flatは、多くのSong_flatフィードに従います。
    • Playlist_aggregatedフィードが提供できないすべてのSong_flat変更のリアルタイム更新を消費するには、中間のPlaylist_flatフィードが必要です。
    • 問題は:Playlist_flatはすぐにその曲を追加動詞を示していますが、Playlist_aggregatedはPlaylist_flat次Playlist_aggregatedにもかかわらず、任意の動詞が含まれていません。

    質問:

    • それはGETSTREAMに誤りですか動詞は、2リンクfollowershipsを経由して伝播されませんか?
    • Playlist_aggregatedは、Playlist_flat経由ではなく、Song_flatフィードに直接従う必要がありますか?

    ありがとうございます。 Manuel

  • 答えて

    1

    フィードの更新は、フォロワーに直接フォロワーに伝播されます。 2次以上のフォロワーフィード(フォロワーのフォロワーなど)はサポートされていません。私の提案は、集計プレイリストを各曲の後に付けることです(または、曲のフィードにアクティビティを追加し、toターゲティングフィールドを使用してプレイリストをターゲットにする)。

    +0

    集計された日付の更新に対応する必要があるため、とにかくフラットフィードが必要です。ソケットメッセージにgetstream idだけが含まれているため、アクティビティの削除はすでに集約されたフィードに反映されません。そのために私はforeign_idが必要でした。だから私は、プレイリストのフラットフィードを曲に従わせ、フロントエンドで集めるようにしました。しかし、活動の数が大量に増加したときに何が起こるかは分かりません。フィードあたりのアクティビティ数に制限はありますか?歌の場合は問題ありません。プレイリストにはたくさんの曲があるので、これは1000年代に入る可能性があります... –