@noellabo popon鯖のsidekiqがキューを捌ききれないので久しぶりにこちらのアカウントから。うちの鯖のキュー詰まり、大抵deleteが多数きて詰まるんですが、deleteをdefaultキュー以外に振り分けることって出来るんですかね?真面目にソースコード読んでいないので、何か知っていたら教えてください。
@popn_ja そうですねー
deleteを処理してるのは/app/lib/activitypub/activity/delete.rbで呼んでるDeleteAccountServiceなので、これをワーカーに切り出して任意のキューで走らせることはできますね。https://github.com/mastodon/mastodon/blob/2251db42ec02e235ae99e5cec9e06564287dee16/app/lib/activitypub/activity/delete.rb#L15-L17
ほとんどAccountDeletionWorkerと同じコードになると思いますが、削除処理中のフラグたててるのでそれで囲ってやるのを追加しないと。https://github.com/mastodon/mastodon/blob/main/app/workers/account_deletion_worker.rb
ただし、その中からさらにワーカーが呼ばれて別のキューに積まれるのは防げないので、そっちは別のアプローチが必要だなぁ。
@noellabo ありがとうございます〜。うちのサーバー構成のせいなのか、削除処理が遅いんですよね。すごいたまに1つのアカウントからドバッとdeleteが流れてくることがあるので、捌く間TLが止まります。教えてもらったコード読んで、自分なりのやり方考えます。
様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。
@popn_ja そうですねー
deleteを処理してるのは/app/lib/activitypub/activity/delete.rbで呼んでるDeleteAccountServiceなので、これをワーカーに切り出して任意のキューで走らせることはできますね。
https://github.com/mastodon/mastodon/blob/2251db42ec02e235ae99e5cec9e06564287dee16/app/lib/activitypub/activity/delete.rb#L15-L17
ほとんどAccountDeletionWorkerと同じコードになると思いますが、削除処理中のフラグたててるのでそれで囲ってやるのを追加しないと。
https://github.com/mastodon/mastodon/blob/main/app/workers/account_deletion_worker.rb
ただし、その中からさらにワーカーが呼ばれて別のキューに積まれるのは防げないので、そっちは別のアプローチが必要だなぁ。