From bb8f0087f417d873f4cef5155753730326ee0598 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Hanol?= Date: Thu, 24 May 2018 17:52:59 +0200 Subject: [PATCH] Add a warning when PostAlerter isn't running in sidekiq --- app/services/post_alerter.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/services/post_alerter.rb b/app/services/post_alerter.rb index f05754357d3..3f151f875cb 100644 --- a/app/services/post_alerter.rb +++ b/app/services/post_alerter.rb @@ -130,6 +130,8 @@ class PostAlerter return if user_ids.blank? user_ids.uniq! + warn_if_not_sidekiq + # Don't notify the OP user_ids -= [post.user_id] users = User.where(id: user_ids) @@ -485,6 +487,8 @@ class PostAlerter users = [users] unless users.is_a?(Array) users = users.reject { |u| u.staged? } if post.topic&.private_message? + warn_if_not_sidekiq + DiscourseEvent.trigger(:before_create_notifications_for_users, users, post) users.each do |u| create_notification(u, Notification.types[type], post, opts) @@ -496,6 +500,8 @@ class PostAlerter def notify_pm_users(post, reply_to_user, notified) return unless post.topic + warn_if_not_sidekiq + # users that aren't part of any mentioned groups users = directly_targeted_users(post).reject { |u| notified.include?(u) } DiscourseEvent.trigger(:before_create_notifications_for_users, users, post) @@ -523,6 +529,8 @@ class PostAlerter def notify_post_users(post, notified) return unless post.topic + warn_if_not_sidekiq + condition = <<~SQL id IN ( SELECT user_id @@ -577,4 +585,8 @@ class PostAlerter end end + def warn_if_not_sidekiq + Rails.logger.warn("PostAlerter.#{caller_locations(1, 1)[0].label} was called outside of sidekiq") unless Sidekiq.server? + end + end