zoukankan      html  css  js  c++  java
  • 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
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    uva 1606 极角扫描
    Codeforces Round #304 (Div. 2) 题解
    Codeforces Round #306 (Div. 2) 题解
    Codeforces Round #299 (Div. 2) 题解
    树链剖分专题
    bzoj 1036: [ZJOI2008]树的统计Count
    bzoj 1007: [HNOI2008]水平可见直线
    bzoj 1003: [ZJOI2006]物流运输trans
    Codeforces Round #301 (Div. 2) 题解
    bzoj 1026: [SCOI2009]windy数
  • 原文地址:https://www.cnblogs.com/lmg-jie/p/8022436.html
Copyright © 2011-2022 走看看