From 330789c23c777d8ca646eba7c25f39cb7342cdee Mon Sep 17 00:00:00 2001 From: Alexander Randa Date: Thu, 27 Apr 2017 10:08:57 +0000 Subject: Implement web hooks logging * implemented logging of project and system web hooks * implemented UI for user area (project hooks) * implemented UI for admin area (system hooks) * implemented retry of logged webhook * NOT imeplemented log remover --- app/workers/project_web_hook_worker.rb | 11 ----------- app/workers/remove_old_web_hook_logs_worker.rb | 10 ++++++++++ app/workers/system_hook_worker.rb | 10 ---------- app/workers/web_hook_worker.rb | 13 +++++++++++++ 4 files changed, 23 insertions(+), 21 deletions(-) delete mode 100644 app/workers/project_web_hook_worker.rb create mode 100644 app/workers/remove_old_web_hook_logs_worker.rb delete mode 100644 app/workers/system_hook_worker.rb create mode 100644 app/workers/web_hook_worker.rb (limited to 'app/workers') diff --git a/app/workers/project_web_hook_worker.rb b/app/workers/project_web_hook_worker.rb deleted file mode 100644 index d973e662ff2..00000000000 --- a/app/workers/project_web_hook_worker.rb +++ /dev/null @@ -1,11 +0,0 @@ -class ProjectWebHookWorker - include Sidekiq::Worker - include DedicatedSidekiqQueue - - sidekiq_options retry: 4 - - def perform(hook_id, data, hook_name) - data = data.with_indifferent_access - WebHook.find(hook_id).execute(data, hook_name) - end -end diff --git a/app/workers/remove_old_web_hook_logs_worker.rb b/app/workers/remove_old_web_hook_logs_worker.rb new file mode 100644 index 00000000000..555e1bb8691 --- /dev/null +++ b/app/workers/remove_old_web_hook_logs_worker.rb @@ -0,0 +1,10 @@ +class RemoveOldWebHookLogsWorker + include Sidekiq::Worker + include CronjobQueue + + WEB_HOOK_LOG_LIFETIME = 2.days + + def perform + WebHookLog.destroy_all(['created_at < ?', Time.now - WEB_HOOK_LOG_LIFETIME]) + end +end diff --git a/app/workers/system_hook_worker.rb b/app/workers/system_hook_worker.rb deleted file mode 100644 index 55d4e7d6dab..00000000000 --- a/app/workers/system_hook_worker.rb +++ /dev/null @@ -1,10 +0,0 @@ -class SystemHookWorker - include Sidekiq::Worker - include DedicatedSidekiqQueue - - sidekiq_options retry: 4 - - def perform(hook_id, data, hook_name) - SystemHook.find(hook_id).execute(data, hook_name) - end -end diff --git a/app/workers/web_hook_worker.rb b/app/workers/web_hook_worker.rb new file mode 100644 index 00000000000..ad5ddf02a12 --- /dev/null +++ b/app/workers/web_hook_worker.rb @@ -0,0 +1,13 @@ +class WebHookWorker + include Sidekiq::Worker + include DedicatedSidekiqQueue + + sidekiq_options retry: 4 + + def perform(hook_id, data, hook_name) + hook = WebHook.find(hook_id) + data = data.with_indifferent_access + + WebHookService.new(hook, data, hook_name).execute + end +end -- cgit v1.2.3