Active Job

rails generate job guests_cleanup

  class GuestsCleanupJob < ApplicationJob
    queue_as :default
    def perform(*guests) 
        # 稍后做些事情
    end 
end
# 入队作业,作业在队列系统空闲时立即执行 GuestsCleanupJob.perform_later guest
# 入队作业,在明天中午执行
GuestsCleanupJob.set(wait_until: Date.tomorrow.noon).perform_later(guest)
# 入队作业,在一周以后执行
GuestsCleanupJob.set(wait: 1.week).perform_later(guest)
# `perform_now` 和 `perform_later` 会在幕后调用 `perform`
# 因此可以传入任意个参数
GuestsCleanupJob.perform_later(guest1, guest2, filter: 'some_filter')
#队列后端设置
  # config/application.rb
    module YourApp
      class Application < Rails::Application
        # 要把适配器的 gem 写入 Gemfile
        # 请参照适配器的具体安装和部署说明 
        config.active_job.queue_adapter = :sidekiq
    end 
# 如需想现在发送电子邮件,使用 #deliver_now
注意
确保队列后端“监听”着队列名称。某些后端要求指定要监听的队列。
 17.6 回调 - 437
UserMailer.welcome(@user).deliver_now
# 如果想通过 Active Job 发送电子邮件,使用 #deliver_later
UserMailer.welcome(@user).deliver_later
#sidekiq.yml

:concurrency: 5
:pidfile: tmp/pids/sidekiq.pid

development:
  :concurrency: 2
production:
  :concurrency: 5
#处理消息队列
:queues:
  - [default, 5]

:logfile: log/sidekiq.log
#启动sidekiq
sidekiq -C config/sidekiq.yml -e development
Rails.application.routes.draw do
  #sidekiq路由配置
  require 'sidekiq/web'
  mount Sidekiq::Web => '/sidekiq-stat'
end
  include Sidekiq::Worker
  sidekiq_options queue: :kuaidi100_subscribe, backtrace: true
  #backtrace: true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值