Rails 将 deliver_later 与 sidekiq 一起使用时,邮件程序会忽略附件
Rails mailer ignores attachment when using deliver_later with sidekiq
什么有效
我当前的 user_controller.rb 代码:
def create
u = User.new(create_user_params)
.
.
.
if u.save
WelcomeMailer.new_customer(u).deliver_now
render json: u.as_json(except: [:password_digest]), status: 201
else
respond_with u
end
end
我的 Mailer 的代码是:
def new_customer(user:)
@user = user
attachments["AGB.pdf"] = File.read("#{Rails.root}/app/assets/files/AGB.pdf")
mail to: @user.email, subject: "blaa blubb"
end
它的工作就像一个魅力。
已发送带附件的电子邮件。
问题:
如果我改变
WelcomeMailer.new_customer(u).deliver_now
到
WelcomeMailer.new_customer(u).deliver_later
我收到了邮件,但没有附件。
我使用 sidekiq 作为作业队列 (config/application.rb):
config.active_job.queue_adapter = :sidekiq
好的...
菜鸟回答:
你必须重新启动 sidekiq-queues...几周后现在就这样做了,它就像一个魅力hittingmyself
什么有效
我当前的 user_controller.rb 代码:
def create
u = User.new(create_user_params)
.
.
.
if u.save
WelcomeMailer.new_customer(u).deliver_now
render json: u.as_json(except: [:password_digest]), status: 201
else
respond_with u
end
end
我的 Mailer 的代码是:
def new_customer(user:)
@user = user
attachments["AGB.pdf"] = File.read("#{Rails.root}/app/assets/files/AGB.pdf")
mail to: @user.email, subject: "blaa blubb"
end
它的工作就像一个魅力。
已发送带附件的电子邮件。
问题:
如果我改变
WelcomeMailer.new_customer(u).deliver_now
到
WelcomeMailer.new_customer(u).deliver_later
我收到了邮件,但没有附件。
我使用 sidekiq 作为作业队列 (config/application.rb):
config.active_job.queue_adapter = :sidekiq
好的...
菜鸟回答:
你必须重新启动 sidekiq-queues...几周后现在就这样做了,它就像一个魅力hittingmyself