【发布时间】: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