Resque job on Heroku stops without finishing
I am using heroku + resquetogo + rails 3.2.
My dynos are:
1 web ( web bundle exec rails server -p $PORT ) 1 resque (resque env
TERM_CHILD=1 RESQUE_TERM_TIMEOUT=240 bundle exec rake...) 1 worker (
worker bundle exec rake jobs:work)
My Rails app has the next config:
config/initializers/redis.rb
ENV["REDISTOGO_URL"] ||= "some url "
uri = URI.parse(ENV["REDISTOGO_URL"])
REDIS = Redis.new(:host => uri.host, :port => uri.port, :password =>
uri.password)
Resque.redis = REDIS
app/workers/my_worker.rb
class MyWorker
@queue = :test
def self.perform()
...
...
end
end
Setup
setup rake task
task :setup => :environment do
...
Resque.enqueue(MyWorker)
...
end
Procfile
resque: env TERM_CHILD=1 RESQUE_TERM_TIMEOUT=240 bundle exec rake resque:work
Resque Task
resque.rake
require "resque/tasks"
task "resque:setup" => :environment do
ENV['QUEUE'] = '*'
end
Alias
desc "Alias for resque:work (To run workers on Heroku)"
task "jobs:work" => "resque:work"
Now when i run: "heroku run rake setup", i can see how the different
bakground jobs start to fire and work, but suddenly everyhting stops. No
error(already checked heroku logs -tail), no term signal, no nothing. It
just stops.
Any idea,?
Regards
No comments:
Post a Comment