I wrote a simple Heroku app to do service monitoring. It uses
DelayedJob to queue up repeating tasks like doing an HTTP ping of a
server once a minute or once an hour.

Twice now the worker has died overnight. "heroku workers" still says
I'm running 1 worker, but there's no message in "heroku logs" -- not
even the stub of logs from the DJ worker that was there before. It
looks like the worker instance has been retired by the scheduler. If
I run "heroku workers 0; heroku workers 1" then it comes back and my
jobs all start running.

Aha! It just started up a worker on its own after I hit the web page
for the first time today. I think the scheduler needs to be smarter
about worker proceses... maybe it needs to check the database for any
Delayed Jobs whose run_at is soon, and either not retire it or make
sure a worker comes online in time to run it.

The code is at http://github.com/alexch/sentry if you want to try it yourself.

Has anyone else had this problem?

--

Alex Chaffee - a...@cohuman.com - http://alexch.github.com
Stalk me: http://friendfeed.com/alexch | http://twitter.com/alexch |
http://alexch.tumblr.com

-- 
You received this message because you are subscribed to the Google Groups 
"Heroku" group.
To post to this group, send email to her...@googlegroups.com.
To unsubscribe from this group, send email to 
heroku+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en.

Reply via email to