FIX: Incorrect arguments were being passed to Jobs::ClosePoll.

Also fix spec that wasn't testing anything.
This commit is contained in:
Guo Xiang Tan
2018-12-13 16:39:36 +08:00
parent 939b82ef0c
commit 71ce9ced47
4 changed files with 50 additions and 10 deletions

View File

@@ -221,10 +221,15 @@ after_initialize do
def schedule_jobs(post)
Poll.where(post: post).find_each do |poll|
Jobs.cancel_scheduled_job(:close_poll, poll_id: poll.id)
job_args = {
post_id: post.id,
poll_name: poll.name
}
Jobs.cancel_scheduled_job(:close_poll, job_args)
if poll.open? && poll.close_at && poll.close_at > Time.zone.now
Jobs.enqueue_at(poll.close_at, :close_poll, poll_id: poll.id)
Jobs.enqueue_at(poll.close_at, :close_poll, job_args)
end
end
end