diff --git a/Gemfile b/Gemfile index ab7d71ad3..28f712954 100644 --- a/Gemfile +++ b/Gemfile @@ -58,6 +58,8 @@ gem "sentry-ruby" gem "possessive" # Strip whitespace from active record attributes gem "auto_strip_attributes" +# Use sidekiq for background processing +gem "sidekiq" group :development, :test do # Check gems for known vulnerabilities diff --git a/Gemfile.lock b/Gemfile.lock index 4eab78078..d2ec311bc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -133,6 +133,7 @@ GEM childprocess (4.1.0) coderay (1.1.3) concurrent-ruby (1.1.10) + connection_pool (2.2.5) crack (0.4.5) rexml crass (1.0.6) @@ -380,6 +381,10 @@ GEM sentry-ruby (~> 5.4.1) sentry-ruby (5.4.1) concurrent-ruby (~> 1.0, >= 1.0.2) + sidekiq (6.5.4) + connection_pool (>= 2.2.2) + rack (~> 2.0) + redis (>= 4.5.0) simplecov (0.21.2) docile (~> 1.1) simplecov-html (~> 0.11) @@ -468,6 +473,7 @@ DEPENDENCIES selenium-webdriver sentry-rails sentry-ruby + sidekiq simplecov stimulus-rails timecop (~> 0.9.4) diff --git a/app/controllers/case_logs_controller.rb b/app/controllers/case_logs_controller.rb index 740dd2003..0824ee11d 100644 --- a/app/controllers/case_logs_controller.rb +++ b/app/controllers/case_logs_controller.rb @@ -27,6 +27,10 @@ class CaseLogsController < ApplicationController end end + def emailCsv + EmailCsvJob.perform_later() + end + def create case_log = CaseLog.new(case_log_params) respond_to do |format| diff --git a/app/sidekiq/email_csv_job.rb b/app/sidekiq/email_csv_job.rb new file mode 100644 index 000000000..e9492f156 --- /dev/null +++ b/app/sidekiq/email_csv_job.rb @@ -0,0 +1,7 @@ +class EmailCsvJob + include Sidekiq::Job + + def perform(*args) + # Do something + end +end