summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorKamil Trzciński <ayufan@ayufan.eu>2019-08-21 12:03:42 +0200
committerKamil Trzciński <ayufan@ayufan.eu>2019-08-21 13:21:55 +0200
commit8d17c4dae6b4662dddffe9e2ddca8100e8cd3d0b (patch)
treef13731d3bdb703e868517403afd83f92d965ea7e /lib
parentcb193cd6b54ee9ac0cf87650100585293540abfa (diff)
downloadgitlab-ce-8d17c4dae6b4662dddffe9e2ddca8100e8cd3d0b.tar.gz
Properly handle `sidekiq` skipsidekiq-interrupt-running-jobs
Transform `CancelledError` into `JobRetry::Skip`
Diffstat (limited to 'lib')
-rw-r--r--lib/gitlab/sidekiq_middleware/monitor.rb3
-rw-r--r--lib/gitlab/sidekiq_monitor.rb12
2 files changed, 9 insertions, 6 deletions
diff --git a/lib/gitlab/sidekiq_middleware/monitor.rb b/lib/gitlab/sidekiq_middleware/monitor.rb
index 2d0e5a6d635..0d88fe760d3 100644
--- a/lib/gitlab/sidekiq_middleware/monitor.rb
+++ b/lib/gitlab/sidekiq_middleware/monitor.rb
@@ -7,6 +7,9 @@ module Gitlab
Gitlab::SidekiqMonitor.instance.within_job(job['jid'], queue) do
yield
end
+ rescue Gitlab::SidekiqMonitor::CancelledError
+ # ignore retries
+ raise Sidekiq::JobRetry::Skip
end
end
end
diff --git a/lib/gitlab/sidekiq_monitor.rb b/lib/gitlab/sidekiq_monitor.rb
index 9ec3be48adb..9842f1f53f7 100644
--- a/lib/gitlab/sidekiq_monitor.rb
+++ b/lib/gitlab/sidekiq_monitor.rb
@@ -30,7 +30,7 @@ module Gitlab
if cancelled?(jid)
Sidekiq.logger.warn(
- class: self.class,
+ class: self.class.to_s,
action: 'run',
queue: queue,
jid: jid,
@@ -62,7 +62,7 @@ module Gitlab
def start_working
Sidekiq.logger.info(
- class: self.class,
+ class: self.class.to_s,
action: 'start',
message: 'Starting Monitor Daemon'
)
@@ -74,7 +74,7 @@ module Gitlab
ensure
Sidekiq.logger.warn(
- class: self.class,
+ class: self.class.to_s,
action: 'stop',
message: 'Stopping Monitor Daemon'
)
@@ -94,7 +94,7 @@ module Gitlab
end
rescue Exception => e # rubocop:disable Lint/RescueException
Sidekiq.logger.warn(
- class: self.class,
+ class: self.class.to_s,
action: 'exception',
message: e.message
)
@@ -105,7 +105,7 @@ module Gitlab
def process_message(message)
Sidekiq.logger.info(
- class: self.class,
+ class: self.class.to_s,
channel: NOTIFICATION_CHANNEL,
message: 'Received payload on channel',
payload: message
@@ -139,7 +139,7 @@ module Gitlab
# running job
find_thread_with_lock(jid) do |thread|
Sidekiq.logger.warn(
- class: self.class,
+ class: self.class.to_s,
action: 'cancel',
message: 'Canceling thread with CancelledError',
jid: jid,