繁体   English   中英

delayed_job没有拿起铁轨环境

[英]delayed_job not picking up the rails environment

关注了delayed_job和monit这个问题

它在我的开发机器上工作。 但每当我尝试在生产上运行时,它就会在delayed_job.log上跟随死亡

*** Starting job worker delayed_job host:mail.welcometonewnepal.com pid:356
#<Mysql::Error: Access denied for user 'root'@'localhost' (using password: YES)>
*** Starting job worker delayed_job host:mail.welcometonewnepal.com pid:441
#<Mysql::Error: Access denied for user 'root'@'localhost' (using password: YES)>
*** Starting job worker delayed_job host:mail.welcometonewnepal.com pid:448
#<Mysql::Error: Access denied for user 'root'@'localhost' (using password: YES)>

而我将在生产环境中运行

ruby script/delayed_job start -e production

仍然出错了。 我注意到这是由于未设置环境以致它试图获取开发环境。

/opt/ruby-enterprise-1.8.6-20090610/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:365:in `read': No such file or directory - /home/millisami/rails_apps/wnn_finale/config/environments/-e.rb (Errno::ENOENT)

为什么环境参数设置不正确?

只是用

ruby RAILS_ENV=production script/delayed_job start

我可能会在这里,但你是否正在使用这个要点作为脚本/ delayed_job? 如果是这样,它不需要“-e” - simply calling script/delayed_job start production或者修改以ENV['RAILS_ENV']开头的行(将“development”替换为“production”)应该就足够了。

如果您之后仍然从MySQL收到错误,则应仔细检查您的用户名和密码。

只是为了帮助人们找到这个问题和旧答案:脚本不再接受环境参数: https//github.com/collectiveidea/delayed_job/issues/7

尝试script/delayed_job start -- production 我不认为你以与script/server相同的方式将环境传递给DJ。 这个答案特定于我们使用的delayed_job文件,我正在寻找它的要点。

编辑:这是我们使用的文件的要点

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM