From 287a88aa3a6ac0bf4906fcae6213a036d6ef5f74 Mon Sep 17 00:00:00 2001 From: Peter Philips Date: Sun, 17 Sep 2023 12:22:53 -0700 Subject: [PATCH 1/6] Update progress_job.gemspec --- progress_job.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/progress_job.gemspec b/progress_job.gemspec index 8cf3ac3..e66b9c4 100644 --- a/progress_job.gemspec +++ b/progress_job.gemspec @@ -20,5 +20,5 @@ Gem::Specification.new do |spec| spec.add_development_dependency "bundler", "~> 1.5" spec.add_development_dependency "rake" - spec.add_dependency 'delayed_job' + spec.add_dependency 'delayed' end From 7d8171df4df2a80acd83af4d89843df17227531c Mon Sep 17 00:00:00 2001 From: Zach Grande Date: Wed, 14 Feb 2024 15:08:08 -0800 Subject: [PATCH 2/6] Return 202 status when job is completed --- .../progress_job/progress_controller.rb | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/app/controllers/progress_job/progress_controller.rb b/app/controllers/progress_job/progress_controller.rb index ae645d1..07e3cb6 100644 --- a/app/controllers/progress_job/progress_controller.rb +++ b/app/controllers/progress_job/progress_controller.rb @@ -2,10 +2,19 @@ module ProgressJob class ProgressController < ActionController::Base def show - @delayed_job = Delayed::Job.find(params[:job_id]) - return unless @delayed_job.present? - percentage = !@delayed_job.progress_max.zero? ? @delayed_job.progress_current / @delayed_job.progress_max.to_f * 100 : 0 - render json: @delayed_job.attributes.merge!(percentage: percentage).to_json + @delayed_job = Delayed::Job.where(id: params[:job_id]).first + if @delayed_job.present? + $redis.set("progress_job:#{@delayed_job.id}", true, ex: 30) + percentage = !@delayed_job.progress_max.zero? ? @delayed_job.progress_current / @delayed_job.progress_max.to_f * 100 : 0 + render json: @delayed_job.attributes.merge!(percentage: percentage).to_json + else + @job = $redis.get("progress_job:#{@delayed_job.id}") + if @job.present? + render json: {message: "Job Completed"}, status: 202 + else + render status: 404 + end + end end end From 36fa55dab264564067a4a9c704bfe90a00ee7ac6 Mon Sep 17 00:00:00 2001 From: Zach Grande Date: Wed, 14 Feb 2024 15:16:29 -0800 Subject: [PATCH 3/6] Changed response to 205 --- app/controllers/progress_job/progress_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/progress_job/progress_controller.rb b/app/controllers/progress_job/progress_controller.rb index 07e3cb6..ec9cd6d 100644 --- a/app/controllers/progress_job/progress_controller.rb +++ b/app/controllers/progress_job/progress_controller.rb @@ -10,7 +10,7 @@ def show else @job = $redis.get("progress_job:#{@delayed_job.id}") if @job.present? - render json: {message: "Job Completed"}, status: 202 + render json: {message: "Job Completed"}, status: 205 else render status: 404 end From 424c2bf85770e26843faf76099a4a77c6c72ef3d Mon Sep 17 00:00:00 2001 From: Zach Grande Date: Wed, 14 Feb 2024 15:19:27 -0800 Subject: [PATCH 4/6] Adjusted ID getter --- app/controllers/progress_job/progress_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/progress_job/progress_controller.rb b/app/controllers/progress_job/progress_controller.rb index ec9cd6d..dd63f4d 100644 --- a/app/controllers/progress_job/progress_controller.rb +++ b/app/controllers/progress_job/progress_controller.rb @@ -8,7 +8,7 @@ def show percentage = !@delayed_job.progress_max.zero? ? @delayed_job.progress_current / @delayed_job.progress_max.to_f * 100 : 0 render json: @delayed_job.attributes.merge!(percentage: percentage).to_json else - @job = $redis.get("progress_job:#{@delayed_job.id}") + @job = $redis.get("progress_job:#{params[:job_id]}") if @job.present? render json: {message: "Job Completed"}, status: 205 else From 488416dbf98dec31d0031c1e355bb57350878949 Mon Sep 17 00:00:00 2001 From: Zach Grande Date: Wed, 14 Feb 2024 15:25:28 -0800 Subject: [PATCH 5/6] Added job not found message --- app/controllers/progress_job/progress_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/progress_job/progress_controller.rb b/app/controllers/progress_job/progress_controller.rb index dd63f4d..5809681 100644 --- a/app/controllers/progress_job/progress_controller.rb +++ b/app/controllers/progress_job/progress_controller.rb @@ -12,7 +12,7 @@ def show if @job.present? render json: {message: "Job Completed"}, status: 205 else - render status: 404 + render json: {message: "Job Not Found"}, status: 404 end end end From bf06f1dd3230c28ba48dbf4f251e4f565229d934 Mon Sep 17 00:00:00 2001 From: Zach Grande Date: Thu, 15 Feb 2024 10:10:55 -0800 Subject: [PATCH 6/6] Removed operation to set key-value pair in redis --- app/controllers/progress_job/progress_controller.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/app/controllers/progress_job/progress_controller.rb b/app/controllers/progress_job/progress_controller.rb index 5809681..07104a0 100644 --- a/app/controllers/progress_job/progress_controller.rb +++ b/app/controllers/progress_job/progress_controller.rb @@ -4,7 +4,6 @@ class ProgressController < ActionController::Base def show @delayed_job = Delayed::Job.where(id: params[:job_id]).first if @delayed_job.present? - $redis.set("progress_job:#{@delayed_job.id}", true, ex: 30) percentage = !@delayed_job.progress_max.zero? ? @delayed_job.progress_current / @delayed_job.progress_max.to_f * 100 : 0 render json: @delayed_job.attributes.merge!(percentage: percentage).to_json else