ملحق البريد الإلكتروني الهضمي تعطل في DistributedMutex.synchronize عند الترقية

لدينا إضافة بريد إلكتروني مخصصة تم تعطيلها عند الترقية من الإصدار 2.9.0 بيتا 7 إلى بيتا 9. أدرك أن Discourse لا يدعم الإضافات المخصصة، ولكن هل لديك أي تلميحات حول ما يمكنني فعله قبل التوجه إلى #marketplace؟

سجل الأخطاء
/var/www/discourse/plugins/discourse-506investor-digest-plugin/plugin.rb:27:in `block in execute'
/var/www/discourse/lib/distributed_mutex.rb:57:in `block in synchronize'
/var/www/discourse/lib/distributed_mutex.rb:53:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:53:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:38:in `synchronize'
/var/www/discourse/plugins/discourse-506investor-digest-plugin/plugin.rb:12:in `execute'
/var/www/discourse/app/jobs/base.rb:237:in `block (2 levels) in perform'
rails_multisite-4.0.1/lib/rails_multisite/connection_management.rb:80:in `with_connection'
/var/www/discourse/app/jobs/base.rb:226:in `block in perform'
/var/www/discourse/app/jobs/base.rb:222:in `each'
/var/www/discourse/app/jobs/base.rb:222:in `perform'
/var/www/discourse/app/jobs/base.rb:284:in `perform'
mini_scheduler-0.14.0/lib/mini_scheduler/manager.rb:93:in `process_queue'
mini_scheduler-0.14.0/lib/mini_scheduler/manager.rb:37:in `block (2 levels) in initialize'
الكود ذو الصلة
after_initialize {
  class ::Jobs::EnqueueDigestEmails
    def execute(args)
      return if SiteSetting.disable_digest_emails? || SiteSetting.private_email?

      DistributedMutex.synchronize("custom_digest", validity: 180.minutes) {  # <<<<<<<<<<<<<<<<<<<<<<<<<<< الخط المسبب للمشكلة 12
        users = User.where(id: target_user_ids)
        return if users.blank?
        
        connection = CustomDigest.create_connection

ربما ألقِ نظرة على المهمة التي تقوم بتجاوزها في core وانظر إلى “blame” لمعرفة ما إذا كان هناك أي شيء قد تغير مؤخرًا. سيكون هذا أول شيء أتحقق منه.

إعجاب واحد (1)