mirror of
https://github.com/plashchynski/crono.git
synced 2026-04-23 17:28:45 +02:00
Add crono rake tasks spec
This commit is contained in:
@@ -1,8 +1,14 @@
|
|||||||
|
module Crono
|
||||||
|
def self.load_cronotab
|
||||||
|
require File.join(Rails.root, Config::CRONOTAB)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
namespace :crono do
|
namespace :crono do
|
||||||
desc 'Clean unused job stats from DB'
|
desc 'Clean unused job stats from DB'
|
||||||
task clean: :environment do
|
task clean: :environment do
|
||||||
Crono.scheduler = Crono::Scheduler.new
|
Crono.scheduler = Crono::Scheduler.new
|
||||||
require File.join(Rails.root, 'config', 'cronotab')
|
Crono.load_cronotab
|
||||||
current_job_ids = Crono.scheduler.jobs.map(&:job_id)
|
current_job_ids = Crono.scheduler.jobs.map(&:job_id)
|
||||||
Crono::CronoJob.where.not(job_id: current_job_ids).destroy_all
|
Crono::CronoJob.where.not(job_id: current_job_ids).destroy_all
|
||||||
end
|
end
|
||||||
|
|||||||
14
spec/tasks/crono_tasks_spec.rb
Normal file
14
spec/tasks/crono_tasks_spec.rb
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
require 'spec_helper'
|
||||||
|
require 'rake'
|
||||||
|
|
||||||
|
load 'tasks/crono_tasks.rake'
|
||||||
|
Rake::Task.define_task(:environment)
|
||||||
|
|
||||||
|
describe 'crono:clean' do
|
||||||
|
it 'should clean unused tasks from DB' do
|
||||||
|
Crono::CronoJob.create!(job_id: 'used_job')
|
||||||
|
expect(Crono).to receive(:load_cronotab)
|
||||||
|
Rake::Task['crono:clean'].invoke
|
||||||
|
expect(Crono::CronoJob.where(job_id: 'used_job')).not_to exist
|
||||||
|
end
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user