Job-Ausnahme: undefinierte Methode > für nil:NilClass
prev_missing_versions_count = DiscourseUpdates.missing_versions_count || 0
json = DiscourseHub.discourse_version_check
DiscourseUpdates.last_installed_version = Discourse::VERSION::STRING
DiscourseUpdates.latest_version = json["latestVersion"]
DiscourseUpdates.critical_updates_available = json["criticalUpdates"]
DiscourseUpdates.missing_versions_count = json["missingVersionsCount"]
DiscourseUpdates.updated_at = Time.zone.now
DiscourseUpdates.missing_versions = json["versions"]
if SiteSetting.new_version_emails && json["missingVersionsCount"] > (0) &&
prev_missing_versions_count < (json["missingVersionsCount"].to_i)
message = VersionMailer.send_notice
Email::Sender.new(message, :new_version).send
end
rescue => e
raise e unless Rails.env.development? # Fail version check silently in development mode
end
end
true
end
Wenn ich dieses Attribut überprüfe:
existiert dieses Attribut nicht.
Backtrace:
/var/www/discourse/app/jobs/scheduled/version_check.rb:21:in `execute'
/var/www/discourse/app/jobs/base.rb:292:in `block (2 levels) in perform'
rails_multisite-5.0.0/lib/rails_multisite/connection_management.rb:82:in `with_connection'
/var/www/discourse/app/jobs/base.rb:279:in `block in perform'
/var/www/discourse/app/jobs/base.rb:275:in `each'
/var/www/discourse/app/jobs/base.rb:275:in `perform'
/var/www/discourse/app/jobs/base.rb:346:in `perform'
sidekiq-6.5.9/lib/sidekiq/processor.rb:202:in `execute_job'
sidekiq-6.5.9/lib/sidekiq/processor.rb:170:in `block (2 levels) in process'
sidekiq-6.5.9/lib/sidekiq/middleware/chain.rb:177:in `block in invoke'
/var/www/discourse/lib/sidekiq/pausable.rb:134:in `call'
sidekiq-6.5.9/lib/sidekiq/middleware/chain.rb:179:in `block in invoke'
sidekiq-6.5.9/lib/sidekiq/middleware/chain.rb:182:in `invoke'
sidekiq-6.5.9/lib/sidekiq/processor.rb:169:in `block in process'
sidekiq-6.5.9/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'
sidekiq-6.5.9/lib/sidekiq/job_retry.rb:113:in `local'
sidekiq-6.5.9/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'
sidekiq-6.5.9/lib/sidekiq.rb:44:in `block in <module:Sidekiq>'
sidekiq-6.5.9/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'
sidekiq-6.5.9/lib/sidekiq/processor.rb:263:in `stats'
sidekiq-6.5.9/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'
sidekiq-6.5.9/lib/sidekiq/job_logger.rb:13:in `call'
sidekiq-6.5.9/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'
sidekiq-6.5.9/lib/sidekiq/job_retry.rb:80:in `global'
sidekiq-6.5.9/lib/sidekiq/processor.rb:124:in `block in dispatch'
sidekiq-6.5.9/lib/sidekiq/job_logger.rb:39:in `prepare'
sidekiq-6.5.9/lib/sidekiq/processor.rb:123:in `dispatch'
sidekiq-6.5.9/lib/sidekiq/processor.rb:168:in `process'
sidekiq-6.5.9/lib/sidekiq/processor.rb:78:in `process_one'
sidekiq-6.5.9/lib/sidekiq/processor.rb:68:in `run'
sidekiq-6.5.9/lib/sidekiq/component.rb:8:in `watchdog'
sidekiq-6.5.9/lib/sidekiq/component.rb:17:in `block in safe_thread'
5 „Gefällt mir“
david
(David Taylor)
7. August 2023 um 19:41
3
Danke @merefield – der Versionsprüfserver musste einige Anpassungen vornehmen, um das neue -dev-Suffix auf den Versionsnummern von tests-passed zu verstehen. Sollte jetzt funktionieren:
[7] pry(main)=> Discourse::VERSION::STRING
=> "3.2.0.beta1-dev"
[8] pry(main)=> DiscourseHub.discourse_version_check
=> {"success"=>"OK", "latestVersion"=>"3.1.0.beta7", "criticalUpdates"=>false, "missingVersionsCount"=>0}
4 „Gefällt mir“
Großartige Arbeit! Danke David!
3 „Gefällt mir“
RGJ
(Richard - Communiteq)
8. August 2023 um 21:39
5
Aber die neueste Version ist doch nicht 3.1.0 beta7, oder?
Der Server gibt auch für die neueste stabile Version immer noch 3.0.6 zurück.
4 „Gefällt mir“
david
(David Taylor)
8. August 2023 um 23:14
6
Wow ja, Sie haben absolut Recht. Das Problem mit dem Verständnis des Suffixes -dev führte dazu, dass der Server die Veröffentlichungen von letzter Woche von GitHub nicht erkannte . Danke @RGJ !
Auf einer Instanz, auf der Tests bestanden wurden:
[1] pry(main)=> DiscourseHub.discourse_version_check
=> {"success"=>"OK",
"latestVersion"=>"3.1.0.beta8",
"criticalUpdates"=>false,
"missingVersionsCount"=>1,
"versions"=>
[{"version"=>"3.1.0.beta8",
"releasedAt"=>"2023-08-01T08:59:00.000Z",
"critical"=>false,
"notes"=>"Read about the release here:\r\n\r\nhttps://meta.discourse.org/t/273443",
"url"=>"http://www.discourse.org/pricing"}]}
3.1.0 ist jetzt auch im Version-Check-Server vorhanden, daher sollte stable auch gut sein.
4 „Gefällt mir“
david
(David Taylor)
Geschlossen,
7. September 2023 um 23:15
7
Dieses Thema wurde 30 Tage nach der letzten Antwort automatisch geschlossen. Neue Antworten sind nicht mehr gestattet.