Merge pull request #2768 from rlaneve/feature/queued-web-hooks

Updates web hooks to process via queue
This commit is contained in:
Dmitriy Zaporozhets 2013-01-27 08:52:37 -08:00
commit 552e42f634
5 changed files with 16 additions and 3 deletions

View file

@ -340,7 +340,7 @@ class Project < ActiveRecord::Base
end
def execute_hooks(data)
hooks.each { |hook| hook.execute(data) }
hooks.each { |hook| hook.async_execute(data) }
end
def execute_services(data)

View file

@ -34,4 +34,8 @@ class WebHook < ActiveRecord::Base
basic_auth: {username: parsed_url.user, password: parsed_url.password})
end
end
def async_execute(data)
Sidekiq::Client.enqueue(ProjectWebHookWorker, id, data)
end
end

View file

@ -0,0 +1,9 @@
class ProjectWebHookWorker
include Sidekiq::Worker
sidekiq_options queue: :project_web_hook
def perform(hook_id, data)
WebHook.find(hook_id).execute data
end
end