【问题标题】:How do I see delayed_job jobs in production?如何查看生产中的延迟作业作业?
【发布时间】:2016-10-10 21:31:07
【问题描述】:

我有一台服务器,我使用 capistrano 进行部署,并且我使用delayed_jobs 进行一些邮件发送,但由于某种原因,在我的服务器上作业没有执行。 delay_job 进程正在运行(运行bin/delayed_job status 正确回答我说某个pid 那里有一个进程),但我不知道该进程是否只是没有执行我的工作,或者即使我的工作没有被排队。在本地一切正常,但在服务器的生产阶段却没有。

我想知道是否有办法至少可以检查那里有哪些工作,因为我无法通过访问控制台来做到这一点

【问题讨论】:

  • 那么,您是否以 production environment 的身份开始了延迟工作? RAILS_ENV=production script/delayed_job start
  • 您是否安装了延迟作业网络? github.com/ejschmitt/delayed_job_web
  • 是的,每次部署时它都会重新启动该过程。我开始做RAILS_ENV=production script/delayed_job run 看看发生了什么,我发现它在尝试发送电子邮件时连接超时。所以我认为这是我使用的端口(587)和服务器(数字海洋)的问题,我运行了telnet smtp.mailgun.org 587,连接需要很长时间。好吧,我将端口更改为 2525,它通过 telnet 的命令立即连接,但它仍然让我连接超时......它与原来的帖子相差甚远,所以我将创建另一个问题。
  • 哦,哇,很棒的宝石,谢谢,我可能会补充一下

标签: ruby-on-rails capistrano delayed-job production


【解决方案1】:

另一个适用于延迟作业的宝石是延迟网络,您可以在此处找到 https://github.com/tatey/delayed-web

你把它添加到你的 gemfile 中

gem 'delayed-web'

然后运行

rails generate delayed:web:install

这将在config/initializers下生成一个初始化文件delayed_web.rb,内容如下:

Rails.application.config.to_prepare do
  Delayed::Web::Job.backend = 'active_record'
end

在 config/application.rb 中,生成器也会为你添加这个

# config/application.rb
config.assets.enabled = true
config.assets.precompile << 'delayed/web/application.css'

在 routes.rb 中也可以添加路由,但如果您使用的是 devise,那么您可能只想按如下方式限制对管理员用户的访问:

authenticated :user, -> user { user.admin? } do
  mount Delayed::Web::Engine, at: '/jobs'
end

【讨论】:

    【解决方案2】:

    好的,所以我通过数据库本身检查了我的作业,我通过 postgres 用户输入 psql 并在 delay_jobs 表中进行了一些查询,您也可以尝试执行RAILS_ENV=production bin/delayed_jobs run(对于 rails 4,rails 3 使用“script/ " 而不是 "bin/"),它将向您展示工人在执行工作时正在做什么。

    您还可以,正如 Swards 上面评论的那样,使用 gem 来为延迟工作提供 Web 界面:https://github.com/ejschmitt/delayed_job_web

    如果您仍然想看看我发送电子邮件的问题是什么,我已经打开了另一个问题,因为它与这个问题的内容相去甚远:What port to use sending email with SMTP (mailgun) in rails app on production server (DigitalOcean)?

    【讨论】:

      猜你喜欢
      • 2013-09-04
      • 2011-09-05
      • 1970-01-01
      • 2016-03-29
      • 2020-04-05
      • 1970-01-01
      • 1970-01-01
      • 2012-03-29
      • 2011-12-14
      相关资源
      最近更新 更多