问题标签 [devise-async]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 使用 devise-async 发送电子邮件不起作用(Rails/Sidekiq)
我有sidekiq (2.15.2)
,devise (3.2.0)
并且devise-async (0.9.0)
在我的 Rails 应用程序中。
我正在尝试devise-async
接管发送电子邮件。但没有运气。我已按照以下说明进行操作:
添加:async
到User
模型:
创建一个初始化器:
我没有在我的邮件中进行任何自定义修改
以下是创建新帐户时控制台中显示的内容:
我的 Sidekiq 日志没有显示任何内容。
有任何想法吗?
ruby-on-rails-4 - 如何使用 Sidekiq 测试 Devise Async?
提前致谢!Sidekiq 工作得很好,但我无法使用 Devise Async 对其进行测试,或者我应该说我无法测试后者?
根据 Sidekiq 的文档,当测试模式设置为 fake! 时,分配给工作人员的任何工作都会被推送到以该工作人员命名的数组jobs
中。所以测试这个数组的增加是微不足道的。
但是,使用 Devise Async,它并不是那么简单,尽管它的后端包括Sidekiq::Worker
. 这是我尝试测试的一小部分内容:
Devise::Async::Backend::Sidekiq.jobs
Devise::Mailer.deliveries
ActionMailer::Base.deliveries
Devise::Async::Backend::Worker.jobs
这些测试对象都没有指出尺寸增加。由于 Devise 将其电子邮件作为模型回调发送,因此我尝试在模型和控制器规范中进行测试。使用 Factory Girl 和 Database Cleaner,我还尝试了两种模式:事务和截断。不用说,我也尝试了 Sidekiq 的两种模式:假的!和内联!
我错过了什么?
ruby-on-rails - 使用 Rails 4 和设计的活动作业
我正在尝试使用 Rails 4 和 Devise 设置活动作业。我愿意接受任何教程,如果有的话(无法通过我的搜索找到。)
我知道有一个Devise Async gem,但它没有涵盖其中的 Active Job。也就是说,我发现这个 gem处于开发阶段,但我遇到了一个uninitialized constant Devise::Async::Backend::Base (NameError)
错误。(可能是我在实施它时很轻松)。
欢迎任何建议。我希望我不必创建新的控制器方法。
ruby-on-rails-3 - 未通过 devise_async gem 和 resque 收到设计通知电子邮件
我正在使用带有 resque 的 devise_async gem 在后台发送电子邮件通知。
我所做的是 - 安装 devise_async 和 resque gem。
在初始化程序中添加 devise_async.rb 并带有行 -
在用户模型中添加了 :async 。
当用户注册时,通知电子邮件会在后台启动,但不会在 gmail 上收到。
ruby-on-rails-4 - Sidekiq + 设计具有多个子域的邮件程序
我在我的一个项目的运行时更改 ActionMailer::Base.default_url_options = {:host => host} 时遇到问题。
设置:我有多个子域,它们在后端使用相同的 Rails-Application。我想通过 Sidekiq 队列将我的设计邮件发送给用户。设计邮件(确认、重置密码)包含链接,这些链接需要特定的子域才能正确。
我的环境
我的 application_controller 中有一个 before_action
现在,如果我想重置我的密码,我总是会得到我在环境文件中指定的默认 url 选项。如果我从我的环境中删除 default_url_options,我会在我的 sidekiq 日志中得到默认的设计错误。
主机始终在控制器中正确设置。我已经调试过了。似乎主机没有传递给sidekiq ..知道如何解决这个问题吗?
我无法将子域保存在某处,因为用户可以触发来自不同子域的电子邮件,并且并不总是相同。我需要一种方法来告诉 Devise 应该使用哪个主机来发送特定的电子邮件。我可以覆盖设计邮件并传递主机或类似的东西吗?
在我的情况下,以下解决方案是不可能的: 使用 sidekiq 时 Rails action mailer 中的动态域名
顺便说一句:包含设计、设计异步和 sidekiq 的完整工作流程本身可以工作(在开发、登台和生产中)。只有链接的主机不正确->这是我的大问题:-)..
ruby-on-rails - 设计异步无法与 sidekiq 一起使用(使用 Devise Mailer 发送电子邮件)
我正在尝试使用 Devise::Mailer 一次发送多封电子邮件。使用 Devise Async,我想将这些电子邮件排队,而不是通过完全发送它们来减慢整个系统的速度(这可能会使应用程序延迟大约 20 秒)。主要问题似乎是 devise_async gem 似乎根本没有与 sidekiq 通信(我在 sidekiq 日志中看不到任何内容)。
经过大量挖掘,与我所拥有的和 devise_async wiki 中的主要区别在于 devise_async.rb 文件缺少参数(不幸的是,这仍然不能解决问题)。
编辑:
问题可能是我没有 sidekiq 工作人员——尽管 devise_async 文档没有谈到这一点。我是否需要触发将触发 UserMailer 的 sidekiq 工作人员?我的印象是 UserMailer 本身就是一个工人。
设计异步.rb
sidekiq.yml
设计.rb
用户.rb
user_mailer.rb
ruby-on-rails - 管理员创建用户,用户选择他们的密码设计 gem
如何做到这一点:使用 Device Gem Rails
管理员将创建一个用户,然后用户收到电子邮件,
用户打开电子邮件并更新密码和他的个人信息。然后他登录了他的仪表板
devise - 使用 Mandrill 邮件程序设计异步错误数量的参数(1 比 2)
我正在使用delayed_job 来处理后台作业。我最近遇到了 devse_async gem 来集成delayed_job 和设计。
当delayed_job 处理队列中的电子邮件作业时,我收到错误数量的参数(1 对2)错误。我应该注意我正在使用 Mandrill 的 API 来发送这些电子邮件。
延迟作业控制台
痕迹
设计邮件程序
注册控制器.rb
ruby-on-rails - 设计异步和延迟作业不使用延迟作业发送电子邮件(rails 4)
我正在尝试使用devise_async
. 但是,邮件程序不发送它们;它们只会保存在延迟工作表中。我devise-async
一步一步地遵循了文档:
设计异步.rb:
应用程序.rb
还添加:async
到user.rb
任何帮助表示赞赏。谢谢!
ruby-on-rails - 只有在用户被重定向后,如何在控制器中运行邮件程序?
例如,如果邮件程序send_signup_mail
很重并且需要一段时间才能完成,我如何才能sign_in_and_redirect
先执行并在视图呈现后在后台发送邮件。
在下面的代码中,这只需要以线性顺序执行,但我认为这不是实际发生的事情,因为重定向直到邮件发送后才会完成。
谢谢!