なんかキュー多すぎて、捨てるわけにもいかないしどうしたらいいの
Conversation
Notices
-
Embed this notice
めいすきあつ (atsu1125@meisskey.one)'s status on Wednesday, 16-Nov-2022 13:29:25 JST めいすきあつ
- めいめい likes this.
-
Embed this notice
めいめい (mei23@misskey.m544.net)'s status on Wednesday, 16-Nov-2022 13:29:34 JST めいめい
@atsu1125@meisskey.one どこだわ?
-
Embed this notice
めいすきあつ (atsu1125@meisskey.one)'s status on Wednesday, 16-Nov-2022 13:32:59 JST めいすきあつ
@mei23@misskey.m544.net atsuchan.pageとmt.shc.kanagawa.jpですね、問題のリレーから切断したけど再試行キューがすごい溜まってて、新しいアクティビティを受信しても、raceconditionでキューに詰まれるから投稿がまともに入ってこない
-
Embed this notice
めいめい (mei23@misskey.m544.net)'s status on Wednesday, 16-Nov-2022 13:32:59 JST めいめい
@atsu1125@meisskey.one Mastodonはわからないけど、力技かキューを消すしかないんじゃないかしら
-
Embed this notice
めいすきあつ (atsu1125@meisskey.one)'s status on Wednesday, 16-Nov-2022 14:38:52 JST めいすきあつ
@mei23@misskey.m544.net なるほどです、該当のリレーのキューだけ消すことってできますか? @noellabo@fedibird.com
-
Embed this notice
めいすきあつ (atsu1125@meisskey.one)'s status on Wednesday, 16-Nov-2022 14:38:52 JST めいすきあつ
@mei23@misskey.m544.net @noellabo@fedibird.com
Sidekiqのダッシュボードはずっとこんな感じです
https://atsuchan.page/@atsuchan/109350803579241985 -
Embed this notice
のえる (noellabo@fedibird.com)'s status on Wednesday, 16-Nov-2022 14:39:38 JST のえる
@atsu1125 離席してたわごめん、まだハマってる?
-
Embed this notice
めいすきあつ (atsu1125@meisskey.one)'s status on Wednesday, 16-Nov-2022 14:56:57 JST めいすきあつ
@noellabo@fedibird.com いえいえ、ハマってます…
-
Embed this notice
のえる (noellabo@fedibird.com)'s status on Wednesday, 16-Nov-2022 14:56:57 JST のえる
@atsu1125 ActivityPub::ProcessingWorkerあたりで、条件判定してWorkerを正常終了させるようにすれば自然にキューが捌けるから、その手がいいかな。
問題は条件だ。toがrelay.shc.kanagawa.jpかrelay.misskey.cfになってるAnnounceでいいかな。これを正常終了させる。
-
Embed this notice
のえる (noellabo@fedibird.com)'s status on Wednesday, 16-Nov-2022 15:18:03 JST のえる
@atsu1125 こんなん。
class ActivityPub::ProcessingWorker
include Sidekiq::Worker
include JsonLdHelpersidekiq_options backtrace: true, retry: 8
def perform(account_id, body, delivered_to_account_id = nil)
json = body_to_json(body)
return if json['type']&.include?('Announce') && (json['to']&.include?('relay.shc.kanagawa.jp') || json['to']&.include?('relay.misskey.cf'))実行してないから動くかわからんけど、だいたいこんな感じのコード。JsonLdHelperの行と、performのあとの2行ね。
あとは応用きかせたまい。