2011-04-06 62 views
0

我实现了延迟工作&它加工精细,但它是在development.log生成邮件不是在production.log。delayed_job的工作不正常

还没有邮件实际发送,它只是在开发日志中生成。处理完毕后,我在延迟工作表中也没有工作。

我也用RAILS_ENV=production rake jobs:work但仍邮件开发日志,并没有实际发送;我在Ubuntu上使用邮件服务器发送邮件。

我注意到,rake jobs:work默认使用开发日志不知道是不是同一个生产服务器吗?

如果有人知道的问题,那么请尽快回答,因为我的应用程序已被卡住,由于这种在生产服务器上和大量邮件的开发日志只是去,而不是实际去给最终用户。

+0

添加'延迟:: Worker.destroy_failed_jobs = FALSE'文件'配置/初始化/ delayed_job.rb'并重新启动应用程序/服务。设置不会删除任何有错误的作业,这可能有助于缩小问题范围。要找到有错误的作业:'select_id,来自delayed_jobs的last_error,其中last_error不为空;'。您不应该在生产中使用'rake jobs:work'。最好为它制作一个monit文件。 – Zabba 2011-04-06 07:10:09

+0

我正在使用RAILS_ENV =生产rake作业:工作但在此邮件仅在开发日志中,但实际上它们未被发送到接收器 – Harender 2011-04-06 11:47:18

回答

0

这可能是显而易见的,但在你的配置/ production.rb,是否设置

config.action_mailer.delivery_method = :smtp 

则可能是设置在配置/ development.rb的交付方法,但忘了做在同生产环境。请让我知道,所以我可以进一步帮助!