File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -28,7 +28,7 @@ def create
2828
2929 respond_to do |format |
3030 if @user . save
31- UserMailer . welcome_email ( @user ) . deliver
31+ UserMailer . welcome_email ( @user ) . deliver_later
3232 format . html { redirect_to @user , notice : 'User was successfully created.' }
3333 format . json { render :show , status : :created , location : @user }
3434 else
Original file line number Diff line number Diff line change 11class UserMailer < ApplicationMailer
2+ # 发送邮件的时候使用UserMailer.welcome_email(@user).deliver执行邮发送。
3+ # 使用deliver可以直接发送邮件。
4+ # 使用deliver_now立即发送邮件,但是并不是异步发送,并且无法使用sidekiq作为发送连接器。
5+ # 使用deliver_later是异步发送,并且能使用配置的sidekiq连接器。
26 def welcome_email ( user )
37 @user = user
48 @url = Rails . application . credentials [ :test_url ]
Original file line number Diff line number Diff line change @@ -18,11 +18,11 @@ class Application < Rails::Application
1818 # active job设置队列后台连接器,配置成sidekiq的。
1919 config . active_job . queue_adapter = :sidekiq
2020
21- # 如加入对面名前缀和连接前缀后对列名变成了 development.queue_name
21+ # 如加入对面名前缀和连接前缀后对列名变成了 development_queue_name
2222 # 设置任务队列名称的前缀。
2323 config . active_job . queue_name_prefix = Rails . env
24- # 默认队列名称的连接前缀是 _
25- config . active_job . queue_name_delimiter = '.'
24+ # 默认队列名称的连接前缀是"_",可以使用下面的方法修改。
25+ # config.active_job.queue_name_delimiter = '.'
2626
2727 end
2828end
Original file line number Diff line number Diff line change 33# queues是用来配置队列的,默认对列名是default,如要要配置多个队列的话如下所配置的,后面的数字指的是权重。可以给工作线程指定队列名。
44# staging和production是指所在的环境。
55# 如果发送任务失败会默认进行重试,默认重试25次,当然这个可以通过配置项max_retries进行更改。
6+ # 注意如果发邮件的时候要使用sidekiq队列的话,需要把mailers(注意:可能其还有前缀)这个对列名加到里面,否则可能会导致邮件无法发送。
67
78---
89:pidfile : tmp/pids/sidekiq.pid
910:logfile : log/sidekiq.log
1011:timeout : 30
1112:max_retries : 10
1213:concurrency : 30
14+ development :
15+ :concurrency : 20
16+ :queues :
17+ - development_mailers
1318staging :
1419 :concurrency : 10
1520production :
1621 :concurrency : 30
22+ :queues :
23+ - production_mailers
1724:queues :
1825 - [critical, 2]
1926 - default
You can’t perform that action at this time.
0 commit comments