Sidetiq 定时任务

class SidekiqCreateMonthPlanWorker
    #定时自动生成下月计划
    include Sidekiq::Worker
    include Sidetiq::Schedulable

    #recurrence { daily }  每天午夜执行
 
    recurrence do
       # 每隔15分钟运行一次:minutely(15)
       # 每个小时的0,15,30,45分都执行:hourly.minute_of_hour(0, 15, 30, 45)
       # minutely(1)
   #monthly.day_of_month(12)   #每月的12号0点执行 monthly.day_of_month(12).hour_of_day(1) #每月的12号1点执行 end def perform(*args) #Rails.logger.info "statrt ==> #{Time.now}" #puts "AQI小时 statrt ==> #{Time.now}" next_mmm_work_jobs?month=1 #0 本月 1 下月 end end

  

def perform(*args) # Do something later sleep 10 1000.times do |index| user = User.new user.name = "atpking#{index}" user.save end end

手动执行sidekiq任务时,要先把sidekiq打开才能执行

5. 在需要的地方controller或者model中调用,调用示例如下

注意:perform是一个实例方法,但是在调用的时候是用类调用

AddLotsOfUsersJob.perform_later #常规异步执行
AddLotsOfUsersJob.set( wait: 20.minutes ).perform_later #指定延迟多久执行 @users = User.all #HardWorker.perform_async('bob', 5) #常规异步执行 #HardWorker.perform_in(5.minutes, 'bob', 5) #延迟执行 #User.delay.do_some_stuff(current_user.id, 20) # 也可以通过 delay 来新建任务


作者:小新是个程序媛
链接:https://www.jianshu.com/p/7ea473097023
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

转载于:https://www.cnblogs.com/lmg-jie/p/8022436.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值