发送包含活动工作和 sidekiq 的电子邮件
send email with active job and sidekiq
我有一份正在发送电子邮件的工作
class UpdateEmailJob < ActiveJob::Base
queue_as :default
def perform()
NotificationsMailer.create_client("mymail@gmail.com").deliver
end
end
然后在我的代码中调用稍后执行方法
UpdateEmailJob.perform_later
我收到一条消息,表明作业已入队
[ActiveJob] Enqueued UpdateEmailJob (Job ID: 1a57232b-f6a8-4dc6-b612-8aca1b1dba2c) to Sidekiq(default)
但是邮件没有发送,我该如何调试呢?有没有办法探索队列?有没有办法强制工作人员 运行 所有队列作业?
你有 sidekiq 邮件队列 运行ning 吗?如果没有,运行 这个:
bundle exec sidekiq -q default -q mailers
您可以通过 Sidekiq API 交互和调试排队的作业。 运行 rails c
,然后:
require 'sidekiq/api'
Sidekiq::Queue.new("mailers")
这提供了当前在邮件程序中排队的所有作业。从那里,查看 API 文档以了解检查它们的不同方法。
我有一份正在发送电子邮件的工作
class UpdateEmailJob < ActiveJob::Base
queue_as :default
def perform()
NotificationsMailer.create_client("mymail@gmail.com").deliver
end
end
然后在我的代码中调用稍后执行方法
UpdateEmailJob.perform_later
我收到一条消息,表明作业已入队
[ActiveJob] Enqueued UpdateEmailJob (Job ID: 1a57232b-f6a8-4dc6-b612-8aca1b1dba2c) to Sidekiq(default)
但是邮件没有发送,我该如何调试呢?有没有办法探索队列?有没有办法强制工作人员 运行 所有队列作业?
你有 sidekiq 邮件队列 运行ning 吗?如果没有,运行 这个:
bundle exec sidekiq -q default -q mailers
您可以通过 Sidekiq API 交互和调试排队的作业。 运行 rails c
,然后:
require 'sidekiq/api'
Sidekiq::Queue.new("mailers")
这提供了当前在邮件程序中排队的所有作业。从那里,查看 API 文档以了解检查它们的不同方法。