Class: Jobs::CallDiscourseHub
- Defined in:
- app/jobs/scheduled/call_discourse_hub.rb
Instance Method Summary collapse
Methods inherited from Scheduled
Methods inherited from Base
acquire_cluster_concurrency_lock!, clear_cluster_concurrency_lock!, cluster_concurrency, cluster_concurrency_redis_key, delayed_perform, #error_context, get_cluster_concurrency, #last_db_duration, #log, #perform, #perform_immediately
Instance Method Details
#execute(args) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'app/jobs/scheduled/call_discourse_hub.rb', line 7 def execute(args) if SiteSetting.version_checks? && (DiscourseUpdates.updated_at.nil? || DiscourseUpdates.updated_at < (1.minute.ago)) begin 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) = VersionMailer.send_notice Email::Sender.new(, :new_version).send end rescue => e raise e unless Rails.env.development? # Fail version check silently in development mode end end DiscourseHub.discover_enrollment if SiteSetting.include_in_discourse_discover? true end |