Digest Email Plugin brach in DistributedMutex.synchronize beim Upgrade

Wir haben ein benutzerdefiniertes Digest-E-Mail-Plugin, das beim Upgrade von 2.9.0 Beta 7 auf Beta 9 kaputtgegangen ist. Mir ist bewusst, dass Discourse keine benutzerdefinierten Plugins unterstützt, aber haben Sie Hinweise, was ich tun kann, bevor ich mich an Marketplace wende?

Fehlerprotokoll
/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'
Relevanter Code
after_initialize {
  class ::Jobs::EnqueueDigestEmails
    def execute(args)
      return if SiteSetting.disable_digest_emails? || SiteSetting.private_email?

      DistributedMutex.synchronize("custom_digest", validity: 180.minutes) {  # <<<<<<<<<<<< offending line 12
        users = User.where(id: target_user_ids)
        return if users.blank?
        
        connection = CustomDigest.create_connection

Schauen Sie sich vielleicht den Job an, den Sie in Core überschreiben, und sehen Sie sich die Schuldzuweisung an, um zu sehen, ob sich dort kürzlich etwas geändert hat. Das wäre das Erste, was ich überprüfen würde.

1 „Gefällt mir“