ProcessingWorkerなんもわからん
$ cat app/workers/processing_worker.rb
# frozen_string_literal: true
class ProcessingWorker
include Sidekiq::Worker
sidekiq_options backtrace: true
def perform(account_id, body); end
end
ちゃうちゃうこっちだ
$ cat app/workers/activitypub/processing_worker.rb
# frozen_string_literal: true
class ActivityPub::ProcessingWorker
include Sidekiq::Worker
sidekiq_options backtrace: true
def perform(account_id, body, delivered_to_account_id = nil)
ActivityPub::ProcessCollectionService.new.call(body, Account.find(account_id), override_timestamps: true, delivered_to_account_id: delivered_to_account_id, delivery: true)
rescue ActiveRecord::RecordInvalid => e
Rails.logger.debug "Error processing incoming ActivityPub object: #{e}"
end
end
app/workers/activitypub/processing_worker.rbからRubyの気持ちになって追っかけてったらapp/models/media_attachment.rbにたどり着いたのですが相変わらず何もわからん状態です。そろそろこちらは時間切れ。すみませーん。何か思いついたら改めておしらせします @hanage999
@zundan や、とんでもないです!こんなに時間使ってくださってありがとうございました。いつも本当に心強いです!
@zundan この件、何とか解決しました。Gemfile.lockにやらかしちゃってました。完全に自分のミスで、全くお恥ずかしい限りです。親身に手伝ってくださって、重ね重ねありがとうございました!
https://mastodon.crazynewworld.net/@hanage999/103464967381643655
@hanage999 おー!直りましたかー!よかったかった。
たしか、thwaitをsidekiq-schedulerがrequireして、e2mmapをthwaitがrequireしてるんだけど、ruby-2.6.5ではこの2つのgemは標準でインストールされてるのでGemfileに足してもGemfile.lockが変化しないんですよね。ruby-2.7.0ではGemfile.lockが変化します。
直接の原因はbundle updateで何かのgemがうまく動かない版になっちゃったのかな?だとするとこれからみんなが踏む地雷かもしれないですね
@zundan ありがとうございます!直った直後に怒濤のように流れるタイムラインが快感でしたw
実は、Rubyを2.6.5に戻した後でもbundle installでGemfile.lockにthwaitとe2mmapがないって怒られたんですよね。おかしいなあ……もう1回試してみようかな。
↓はbundle updateしちゃった後のGemfile.lockなんですが、この変更のうちのどれかが地雷だったのか……
https://github.com/Hanage999/mastodon/commit/e58d8eb46ce78e16c135c849a497da37a0760f8b
ちゃんと動く版に戻ってこられるようになったので、またRuby2.7.0にしてみるとか色々と試行錯誤してみようと思います
@hanage999 あー、そっか。失礼しました。Gemfile.lockには行きますね。もうインストールされてるのでbundle installで何も起きないのでした。
Gemfile.lockの変更点、paperclipは更新されてるけどちょっとしか変わってなさそうですよね。redis-*も変わってるけど、うーん。そのうち僕も踏むと思うのでその時に思い出せるといいなあ!