namespace :sidekiq_cron do
desc "Load Sidekiq Cron entries from file" task load: :environment do config = Sidekiq::Cron::Tasks.config next if config.schedule.empty? prefixed_hash = config.schedule.each_with_object({}) do |(name, options), new_hash| prefixed_name = name.sub(/\A(#{config.prefix} )?/, config.prefix + " ") new_hash[prefixed_name] = options end Rake::Task['sidekiq_cron:clear'].invoke Sidekiq::Cron::Job.load_from_hash prefixed_hash end desc "Clear Sidekiq Cron entries" task clear: :environment do prefix = Sidekiq::Cron::Tasks.config.prefix Sidekiq::Cron::Job.all.select { |job| job.name =~ /\A#{prefix} / }.each(&:destroy) end
end