- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个非常基本的邮件设置如下发送交易邮件:
class PayoutMailer < ApplicationMailer
default from: 'hello@groundworkai.com'
def payout_success_email(email, payment_size, user_name)
@payment_size = payment_size
@user_name = user_name
subject = 'Your Rewards Have Been Sent!'
mail(to: email, from: 'hello@myservice.com', subject: subject)
end
end
我正在用这一行测试:
PayoutMailer.payout_success_email('test@example.com',
200000,
'test name').deliver_later
我的问题是,当我使用 .deliver 或 .deliver_now 时,邮件会发送,但是当我使用 Deliver_later 异步委派它时,它会排队但从不发送。输出是:
I, [2018-01-20T15:27:44.140104 #4] INFO -- : [ActiveJob] Enqueued ActionMailer::DeliveryJob (Job ID: 265cb31a-dec4-4adb-866d-06e44645c53a) to Async(mailers) with arguments: "PayoutMailer", "payout_success_email", "deliver_now", "test@example.com", 200000, "test name"
我知道 ActionJob 在我使用 Deliver_later 时正在处理它,根据 docs :
Active Job's default behavior is to execute jobs via the :async adapter. So, you can use deliver_later now to send emails asynchronously. Active Job's default adapter runs jobs with an in-process thread pool. It's well-suited for the development/test environments, since it doesn't require any external infrastructure, but it's a poor fit for production since it drops pending jobs on restart. If you need a persistent backend, you will need to use an Active Job adapter that has a persistent backend (Sidekiq, Resque, etc).
此时,我不需要持久后端,使用进程内线程池就可以了。有没有什么方法可以让我在不引入 Sidekiq + Redis 的外部基础设施的情况下使用 Deliver_later?
最佳答案
异步适配器无法通过 rake 任务工作。
尝试内联,或使用 Deliver_now
从 http://edgeguides.rubyonrails.org/active_job_basics.html#job-execution
Using the asynchronous queue from a Rake task (for example, to send an email using .deliver_later) will generally not work because Rake will likely end, causing the in-process thread pool to be deleted, before any/all of the .deliver_later emails are processed. To avoid this problem, use .deliver_now or run a persistent queue in development.
关于ruby-on-rails - rails 5 : ActionMailer's "deliver_later" never delivers in production,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48364051/
以下两种电子邮件调用方法有什么区别?一个有交付而另一个没有。 mail(:to => 'test@gmail.com', :subject => "Test") do |format| for
example.com 上有一个邮件处理脚本,用于处理发送到以下地址的电子邮件: account1234@example.com 邮件服务器有一个包罗万象的 example.com 并将电子邮件处理到
Mandrill不提供任何支持。我给他们寄了许多票,但仍然没有答案。我希望这里有人能帮助我。 我正在通过SMTP发送电子邮件。我一开始可以发送几千封电子邮件,但是几千封之后,没有电子邮件到达任何邮箱。
我在 firebase 消息传递中创建了一个设备组 - Documentation here并取回 notification_key 现在,当我使用 notification_key 通过 Fireb
我在 firebase 消息传递中创建了一个设备组 - Documentation here并取回 notification_key 现在,当我使用 notification_key 通过 Fireb
在我的 C++ 应用程序中,我有一个执行某些工作的后台线程,将结果放入堆分配的内存块中,然后调用 PostMessage将结果传递给主线程。 通常,当 Window 收到消息时,它会处理结果,然后在
我正在开发一个在 iPhone 和 Apple Watch 之间共享数据的应用程序,使用 WCSession 方法 sendMessage:replyHandler:errorHandler: 执行该
我有一个从AndDev网站获得的FileBrowser Activity 。问题是它停止工作并且崩溃了,这是logcat: 07-05 11:20:35.803: ERROR/AndroidRunti
我正在尝试选择我的图库的图片,我可以访问我的图库,但单击该图像后应用程序崩溃了。 我尝试调试它,但它在该行的 onActivityResult 方法中崩溃了 InputStream openInput
我正在使用 deliver 提交申请以使用 faSTLane 进行审核... 我遇到下一个错误: Multiple commands produce '/Users/admin/Library/Dev
我遇到了一个问题。 我正在开发一个使用 GCM 推送通知功能的应用程序。在调试时,所有消息都被传送(有/没有一些不同的延迟)到设备。但是,当我从 PC 上拔下设备或禁用 Debug模式时,GCM 消息
在回答这个问题时,请考虑到我是 Android 新手这一事实。 在我的应用程序中,Activity A 显式调用 Activity B,后者必须为其提供一些来自用户的数据(即日期)。 Activity
我尝试使用 Amazon SES 和 Java AWS SDK 发送电子邮件,并且成功了。我希望能够(稍后)检查交付是否成功。如果最终的邮件服务器接受邮件进行投递,我将其定义为成功。 我看到当你发送邮
我正在使用 Xamarin 开发 Apple Watch 应用。我正在尝试使用 SendMessage 函数从我的 watch 向 iPhone 发送消息。当我这样做时,我收到了 out 错误消息 p
我有一个 LoginActivity(用户登录)。它基本上是它自己的 Activity 主题,就像一个对话框(看起来好像一个对话框)。它出现在 SherlockFragmentActivity 上。我
我正在尝试在 4.1.1 中调试此邮件错误并且无法弄清楚如何获取有关要查看的内容的更多信息: TypeError (no implicit conversion of nil into String)
我是 android 的新手,现在正在学习内容提供程序。 试着掌握它的基本窍门,但遇到一个不太确定如何解决的错误。 当一个按钮被点击时这个函数被调用 public void getContact(Vi
我正在将应用内结算集成到我的非托管产品应用程序中。我已经在市场上配置了我的应用程序以实现 BILLING 权限。我已经发布了我的应用程序的开发版本所期望的产品 ID。到目前为止,我一直在使用测试产品,
if (preise.kond_basis_preis > 0,preise.kond_basis_preis, a.bruttopreis) as bruttopreis, preise.kond_
我一直在试验时间命令(/usr/bin/time)。我让时间命令运行如下 /usr/bin/time -v sleep 30 在另一个终端上,我执行了一个ps -a 并找到了sleep 进程的PID。
我是一名优秀的程序员,十分优秀!