5

关注了这个关于delayed_job和monit的问题

它在我的开发机器上工作。但是,每当我尝试在生产环境中运行时,它都会随着延迟工作日志的关注而死掉

*** 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)

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

4

4 回答 4

4

只需使用

ruby RAILS_ENV=production script/delayed_job start
于 2009-09-26T15:21:43.153 回答
3

我可能在这里很累,但是您是否将此要点用作脚本/延迟作业?如果是这样,它不需要“-e” -simply calling script/delayed_job start production或者改变以“生产”开头的行ENV['RAILS_ENV'](将“开发”替换为“生产”)就足够了。

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

于 2009-09-06T19:34:44.277 回答
1

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

于 2011-11-25T08:02:49.220 回答
0

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

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

于 2009-09-06T19:35:17.570 回答