diff --git a/app/controllers/progress_job/progress_controller.rb b/app/controllers/progress_job/progress_controller.rb index ae645d1..07104a0 100644 --- a/app/controllers/progress_job/progress_controller.rb +++ b/app/controllers/progress_job/progress_controller.rb @@ -2,10 +2,18 @@ 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? + 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:#{params[:job_id]}") + if @job.present? + render json: {message: "Job Completed"}, status: 205 + else + render json: {message: "Job Not Found"}, status: 404 + end + end end end 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