gpt4 book ai didi

ruby-on-rails - 如何使用每当 gem 为删除工作人员设置 rake 任务

转载 作者:数据小太阳 更新时间:2023-10-29 08:42:20 24 4
gpt4 key购买 nike

我有工作人员删除所有超过 1 年的管理日志。我希望它每天使用 gem whenever 作为 rake 任务运行一次,但是我没有遵循 rake 任务的整个逻辑。我试图关注这篇文章 https://medium.com/@sampatbadhe/rake-task-invoke-or-execute-419cd689c3bd最大的问题是我应该将我的工作人员移动到 rake 文件还是我可以直接引用该工作人员所在的文件?

我下面的 worker :

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

据我所知,我在 whenever gem 中的 schedule.rb 应该如下所示:

every 24.hours do
rake 'myproject:AdminPanelLogRemoverWorker'
end

最佳答案

这是一个worker,不是rake任务,所以你可以用

every 24.hours, at: '0:00am' do
runner 'AdminPanelLogRemoverWorker.perform_async'
end

关于ruby-on-rails - 如何使用每当 gem 为删除工作人员设置 rake 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58011377/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com