5

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?

Community
  • 1
  • 1
millisami
  • 9,931
  • 15
  • 70
  • 112

4 Answers4

4

Just use

ruby RAILS_ENV=production script/delayed_job start
punkrats
  • 41
  • 1
3

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.

cite
  • 778
  • 5
  • 12
1

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

Kyberias
  • 1,263
  • 1
  • 14
  • 23
0

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.

theIV
  • 25,434
  • 5
  • 54
  • 58