delayed_job not picking up the rails environment
-
21-09-2019 - |
문제
Followed this question about delayed_job and monit
Its working on my development machine. But whenever I try to run on production, it just dies with following on 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)>
And I m going to run in production env
ruby script/delayed_job start -e production
Still it errors out. I m noticing that this is due to the environment not set so that it tries to pick up the development environment.
/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)
Why isn't the environment parameter not set properly?
해결책
I might be worng here, but are you using this gist as script/delayed_job? If so, it doesn't need the "-e" - simply calling script/delayed_job start production
or chaning the line that starts with ENV['RAILS_ENV']
(replacing "development" with "production") should be sufficient.
If you still get errors from MySQL afterwards, you should double check your username and password.
다른 팁
Just use
ruby RAILS_ENV=production script/delayed_job start
Just to help people finding this question and the old answers: the script doesn't accept the environment parameter any more: https://github.com/collectiveidea/delayed_job/issues/7
Try script/delayed_job start -- production
. I don't think you pass the environment to DJ the same way as you would to script/server
. This answer is specific to the delayed_job
file that we use, I'm looking for a gist of it.
EDIT: Here is the gist of the file we use.