很简单,我敢肯定,但我一直在寻找,但找不到答案。
简而言之:我想设置一个每日邮件以每天通过电子邮件发送任务列表。
我有一个工人(每分钟安排一次,只为开发人员准备):
class DailyReminderWorker
include Sidekiq::Worker
include Sidetiq::Schedulable
recurrence do
hourly.minute_of_hour(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59)
end
def perform
User.find_each do |user|
@user = user.name
puts "user name is #{@user}"
@reminder = Remindarrr.where(user_id: user.id)
@reminder.each do |r|
puts r.title
end
end
end
end
我知道我可以在控制器中使用以下命令调用它:
DailyReminderWorker.perform_async
这每分钟都有效并输出,但每次页面刷新时它也会触发。(对于日常邮寄者来说不太有用。)
如何在不立即触发的情况下调用工作人员来排队工作?你会把 perform.async 放在哪里?
非常感谢!