From d3e4577fa5b4c70d8ddcde90f75cd5981d7e5d57 Mon Sep 17 00:00:00 2001 From: Rolf Schmidt Date: Thu, 7 Sep 2017 15:00:12 +0200 Subject: [PATCH] Improved codestyle. --- app/controllers/monitoring_controller.rb | 14 ++++++-------- app/models/scheduler.rb | 21 ++++++++++++--------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/app/controllers/monitoring_controller.rb b/app/controllers/monitoring_controller.rb index eab0c7829..fa9867fd1 100644 --- a/app/controllers/monitoring_controller.rb +++ b/app/controllers/monitoring_controller.rb @@ -81,9 +81,9 @@ curl http://localhost/api/v1/monitoring/health_check?token=XXX issues.push 'scheduler not running' end - Scheduler.where(status: 'error').each { |scheduler| + Scheduler.where(status: 'error').each do |scheduler| issues.push "Failed to run scheduled job \'#{scheduler.name}\'. Cause: #{scheduler.error_message}" - } + end token = Setting.get('monitoring_token') @@ -181,16 +181,14 @@ curl http://localhost/api/v1/monitoring/status?token=XXX access_check count = 0 - Scheduler.where(status: 'error').where(active: false).each { |scheduler| - scheduler.active = true - scheduler.save + Scheduler.where(status: 'error', active: false).each do |scheduler| + scheduler.update(active: true) count += 1 - } + end - result = { + render json: { job_restart_count: count } - render json: result end private diff --git a/app/models/scheduler.rb b/app/models/scheduler.rb index 7311c40d9..f541ece10 100644 --- a/app/models/scheduler.rb +++ b/app/models/scheduler.rb @@ -169,11 +169,13 @@ class Scheduler < ApplicationModel end def self._start_job(job, try_count = 0, try_run_time = Time.zone.now) - job.last_run = Time.zone.now - job.pid = Thread.current.object_id - job.status = 'ok' - job.error_message = '' - job.save + job.update( + last_run: Time.zone.now, + pid: Thread.current.object_id, + status: 'ok', + error_message: '', + ) + logger.info "execute #{job.method} (try_count #{try_count})..." eval job.method() # rubocop:disable Lint/Eval rescue => e @@ -203,10 +205,11 @@ class Scheduler < ApplicationModel error = "Failed to run #{job.method} after #{try_count} tries #{e.inspect}" logger.error error - job.error_message = error - job.status = 'error' - job.active = false - job.save + job.update( + error_message: error, + status: 'error', + active: false, + ) end end