您如何在不致电工人的情况下呼叫(每日)sidekiq计划的工人?

问题描述 投票:0回答:1

可以肯定,但是我一直在搜索,找不到答案。

简而言之:我想设置一个日常邮件发送者,以每天通过电子邮件发送任务列表。

我有一个工人(每分钟安排一次,只为开发人员投入时间:]]

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放在哪里?

非常感谢!

ruby-on-rails ruby sidekiq sidetiq
1个回答
0
投票

如果您使用的是Linux平台,请使用cron。非常容易设置。

© www.soinside.com 2019 - 2024. All rights reserved.