DougN
DougN

Reputation: 337

Rails: Error on rake jobs:work, but Delayed Job not installed

All:

My error logs show heroku crashing on a rake task, rake jobs:work.

The problem is, I don't have a rake task called jobs or work. I only have one, called cron.

In that task, there's no Delayed Job stuff at all, and nowhere does the word 'jobs' or 'work' appear.

I've also looked in the Config files, and no trace of anything about Delayed Job. It's also not in Vendor/plugins.

Any ideas where the hidden rake task might be?

here's the error code:

    2012-01-03T20:28:45+00:00 heroku[worker.3]: State changed from crashed to created
    2012-01-03T20:28:45+00:00 heroku[worker.3]: State changed from created to starting
    2012-01-03T20:28:48+00:00 heroku[worker.3]: Starting process with command `rake jobs:work`
    2012-01-03T20:28:48+00:00 app[worker.3]: (in /app)
    2012-01-03T20:28:48+00:00 heroku[worker.3]: State changed from starting to up
    2012-01-03T20:28:49+00:00 app[worker.3]: rake aborted!
    2012-01-03T20:28:49+00:00 app[worker.3]: Don't know how to build task 'jobs:work'
    2012-01-03T20:28:49+00:00 app[worker.3]: 
    2012-01-03T20:28:49+00:00 app[worker.3]: (See full trace by running task with --trace)
    2012-01-03T20:28:50+00:00 heroku[worker.3]: State changed from up to crashed
    2012-01-03T20:28:51+00:00 heroku[worker.3]: Process exited
    2012-01-03T20:28:53+00:00 app[web.9]: 

Here's the --trace code

    MacBook-Air:patientapp dougsmith$ heroku rake jobs:work --trace
    (in /app)
    rake aborted!
    Don't know how to build task 'jobs:work' 
    /app/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:1728:in `[]'
    /app/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2050:in `invoke_task'
    /app/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
    /app/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
    /app/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
    /app/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
    /app/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level'
    /app/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in `run'
    /app/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
    /app/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
    /app/.bundle/gems/ruby/1.8/gems/rake-0.8.7/bin/rake:31
    /app/.bundle/gems/ruby/1.8/bin/rake:19:in `load'
    /app/.bundle/gems/ruby/1.8/bin/rake:19
    MacBook-Air:patientapp dougsmith$ 

Upvotes: 2

Views: 835

Answers (2)

MegaTux
MegaTux

Reputation: 1651

Do you have 1 or more Heroku worker dyno/s configured? Looks like Heroku default Procfile run the command

worker bundle exec rake jobs:work

for Rails apps. Probably, editing/creating a procfile without this command makes the trick. More info:

https://devcenter.heroku.com/articles/procfile

Upvotes: 1

DavidNorth
DavidNorth

Reputation: 450

This happened to me. I found that delayed job had been in use before I started work on the site. A worker dyno was still configured for it. After removing that dyno the error went away.

Upvotes: 0

Related Questions