【发布时间】:2022-01-17 22:15:03
【问题描述】:
我正在使用Sorcery Gem 在我的 Rails 应用程序中验证用户。一切正常。当用户注册时,我可以发送用户激活电子邮件。但是发送电子邮件需要很长时间,所以我想延迟发送电子邮件或使用Sidekiq 在后台发送电子邮件。我阅读了 Sorcery 文档,但找不到使用 Sidekiq 延迟发送电子邮件的方法。
请指导我如何使用 Sidekiq 延迟 Sorcery gem 发送的电子邮件。
【问题讨论】:
-
假设您启用了 Sidekiq (
.delay),是否会在邮件程序上调用延迟帮助? -
@Abhinay Sorcery 自动发送电子邮件,所以我不知道在哪里将
.delay放在代码中。 -
我从文档中了解到,您可以将其配置为调用任何 Mailer。您可以在该方法中执行的操作是调用
MailerJob.perform_late(*arg)而不是立即调用mail(*args) -
另一种更简洁的方法可能是根本不通过巫术设置邮件。您可以在此页面 (github.com/Sorcery/sorcery/wiki/User-Activation) 上恢复为 UserMailer 提到的更改,并根据您何时要触发电子邮件在 User 模型上添加回调,这样您就可以控制要调用的内容以及是否使用 sidekiq。
标签: ruby-on-rails sidekiq sorcery