From 1a8b411813954ff4b2d046d3aa98ca3e50e9f0a3 Mon Sep 17 00:00:00 2001 From: Victor Costa Date: Wed, 2 Sep 2015 16:18:16 -0300 Subject: [PATCH] Fix job reschedule --- lib/proposals_discussion_plugin/ranking_job.rb | 5 ++++- test/unit/ranking_job_test.rb | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/proposals_discussion_plugin/ranking_job.rb b/lib/proposals_discussion_plugin/ranking_job.rb index e3ab749..f183b6f 100644 --- a/lib/proposals_discussion_plugin/ranking_job.rb +++ b/lib/proposals_discussion_plugin/ranking_job.rb @@ -4,6 +4,9 @@ class ProposalsDiscussionPlugin::RankingJob ProposalsDiscussionPlugin::Topic.find_each do |topic| ProposalsDiscussionPlugin::RankingJob::TopicRankingJob.new(topic.id).schedule end + end + + def after(job) schedule(30.minutes.from_now) end @@ -12,7 +15,7 @@ class ProposalsDiscussionPlugin::RankingJob end def self.find_job - Delayed::Job.by_handler("--- !ruby/object:ProposalsDiscussionPlugin::RankingJob {}\n") + Delayed::Job.by_handler("--- !ruby/object:ProposalsDiscussionPlugin::RankingJob {}\n").where('locked_at IS NULL') end diff --git a/test/unit/ranking_job_test.rb b/test/unit/ranking_job_test.rb index f926a70..2408ac1 100644 --- a/test/unit/ranking_job_test.rb +++ b/test/unit/ranking_job_test.rb @@ -15,6 +15,7 @@ class RankingJobTest < ActiveSupport::TestCase end should 'do not create duplicated ranking job' do + Delayed::Job.destroy_all job.schedule job.schedule assert_equal 1, job.class.find_job.count @@ -27,7 +28,6 @@ class RankingJobTest < ActiveSupport::TestCase should 'reschedule job when performed' do process_delayed_job_queue - job.perform new_job = job.class.find_job.first assert new_job.present? assert new_job.run_at > 20.minutes.from_now -- libgit2 0.21.2