У меня есть работник, который удаляет все журналы администратора старше 1 года.Я хочу, чтобы он запускался один раз в день с использованием gem whenever
в качестве задачи рейка, однако я не следую всей логике задач рейка.Я пытался следить за этой статьей https://medium.com/@sampatbadhe/rake-task-invoke-or-execute-419cd689c3bd Каков же главный вопрос: переместить моего работника в файл rake или я могу напрямую обратиться к файлу, в котором находится этот работник?
мой работник ниже:
class AdminPanelLogRemoverWorker
include Sidekiq::Worker
def perform
expired_logs = AdminPanelLog.where('created_at < ?', 1.year.ago).select(:id)
expired_logs.find_in_batches do |logs_batch|
AdminPanelLog.where(id: logs_batch.map(&:id)).delete_all
end
end
end
Насколько я понимаю, мой schedule.rb
в whenever gem
должен быть примерно таким:
every 24.hours do
rake 'myproject:AdminPanelLogRemoverWorker'
end