diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-12-18 15:42:12 +0400 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-12-18 15:42:12 +0400 |
commit | 6ac73f45f0d88b4a7fded64260a8d6ea1cff7400 (patch) | |
tree | 9b8a9a05c81721417b8adeb732bb966950739545 /app/models/project_services/emails_on_push_service.rb | |
parent | fc3878c03461a1b75a30332756544b2e10b77917 (diff) |
Move EmailOnPush logic to async worker
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'app/models/project_services/emails_on_push_service.rb')
-rw-r--r-- | app/models/project_services/emails_on_push_service.rb | 20 |
1 files changed, 1 insertions, 19 deletions
diff --git a/app/models/project_services/emails_on_push_service.rb b/app/models/project_services/emails_on_push_service.rb index 73458098400..2a46eff7846 100644 --- a/app/models/project_services/emails_on_push_service.rb +++ b/app/models/project_services/emails_on_push_service.rb @@ -33,24 +33,7 @@ class EmailsOnPushService < Service end def execute(push_data) - before_sha = push_data[:before] - after_sha = push_data[:after] - branch = push_data[:ref] - author_id = push_data[:user_id] - - if before_sha =~ /^000000/ || after_sha =~ /^000000/ - # skip if new branch was pushed or branch was removed - return true - end - - compare = Gitlab::Git::Compare.new(project.repository.raw_repository, before_sha, after_sha) - - # Do not send emails if git compare failed - return false unless compare && compare.commits.present? - - recipients.split(" ").each do |recipient| - Notify.delay.repository_push_email(project_id, recipient, author_id, branch, compare) - end + EmailsOnPushWorker.perform_async(project_id, recipients, push_data) end def fields @@ -59,4 +42,3 @@ class EmailsOnPushService < Service ] end end - |