mastodon.juggler.jp は、数々の独立したMastodonサーバーのうちのひとつです。サーバーに登録してFediverseのコミュニティに加わってみませんか。
日本語で楽しめるMastodonサーバを提供しています。

サーバーの情報

63
人のアクティブユーザー

tateisu​ :force::r_9a:

リレーを使うようになると使われてない古い投稿がタンスのDBに溜まっていくと思うんですが、どうにかいい感じに削除してディスク容量を空けられないものか…? と思ってこんなクエリを考えてみたけど、どんなもんだろうか gist.github.com/tateisu/3d9829

gist.github.com使われてない古い投稿の削除使われてない古い投稿の削除. GitHub Gist: instantly share code, notes, and snippets.

テスト鯖なので1時間より古い使われてないトゥートを削除してみた。それなりに動いてる模様。メンションがあればローカル住人と無関係でも残すとか、pinned投稿なら残すとかあるので、思ったよりは他タンスの投稿が残る。添付メディアはstatusとの関連が切れるだけなので別途tootctl media remove_remote する必要がある

あー。「ブーストされたこと」も忘れてしまうのは問題だな…

@tateisu 目的がブレる(別物)になりますが、数千・数万のフォロー先を持つローカルユーザーも、無意味にデータベースを肥大化させるので、

・ローカルユーザーにフォローされていない→フォローされてても削除
・メンションがある→ローカルユーザーを含むメンションがある、に限定

という条件のクエリが別途あると有用かもしれませんね。

@noellabo 蓄積される投稿と違ってユーザ情報は現在の状態なので、「古いものを削る」という判定ができないんですよね…。

@noellabo メンションや返信について、会話ツリー全体をみないと「ローカルと無関係」とは言いきれないんですよ。けっこう大変なので今回のクエリではメンションを含む投稿や返信や被返信は対象外にしてます。レスが付く=重要性が高いという見方もできるので、フィルタ的には割と良い感じです

@tateisu リプライ・被リプライ(会話ツリー・context)ってメンションの有無
と無関係に形成されてませんか?

メンションの方は、ローカル絡んでいるか、ステータス単独で判定いけるんじゃないかな……。

まぁ何が重要かは評価関数要りますよね。削除対象レベルをスコアで指定できそう。
(便乗して欲張っているだけの話なので、ひとまず捨て置いてください)

@noellabo 会話ツリー中一部だけメンションされたとしても、ローカルユーザはその会話ツリー全体を見たいですよね。それを妨げるのは私はナシだと思います