[LRUG] Ruby Daemons?
Taryn East
teast at globalpersonals.co.uk
Wed Dec 2 02:21:56 PST 2009
We're looking into them ourselves atm. There are heaps of tools for this
sort of thing, each differing based on your actual requirements.
I went through rbates' railscasts to get an overview of some of the more
popular ones.
These are the ones that are reasonably recent and relevant:
1. Using background rake -
http://railscasts.com/episodes/127-rake-in-background<http://www.google.com/url?q=http%3A%2F%2Frailscasts.com%2Fepisodes%2F127-rake-in-background&sa=D&sntz=1&usg=AFrqEzcaPlwLRj4TgbhukizHlUp2z2v5sg>
Only good for very-occasional 'do it now in the background' tasks
2. Starling + Workling -
http://railscasts.com/episodes/128-starling-and-workling<http://www.google.com/url?q=http%3A%2F%2Frailscasts.com%2Fepisodes%2F128-starling-and-workling&sa=D&sntz=1&usg=AFrqEzfi2YbvXAI1mbIrE4SZOKf7K2ODhg>
Looks like these are great for continual-queue workers... but in the next
Railscast he recommends against them for scheduled-jobs.
3. Custom Daemon (with daemon-generator
plugin<http://www.google.com/url?q=http%3A%2F%2Fgithub.com%2Fdougal%2Fdaemon_generator%2F&sa=D&sntz=1&usg=AFrqEzewTp0bnlsjC_SqKzDj3fdu5CDI9w>)
- http://railscasts.com/episodes/129-custom-daemon<http://www.google.com/url?q=http%3A%2F%2Frailscasts.com%2Fepisodes%2F129-custom-daemon&sa=D&sntz=1&usg=AFrqEzdpS8P5p1K_wCgU6KvvE9ynEvK-TQ>
In this one he uses scheduled mailing lists as the example. eg "schedule
this delivery right now and that one to be delivered next Tuesday".
4. God - http://railscasts.com/episodes/130-monitoring-with-god<http://www.google.com/url?q=http%3A%2F%2Frailscasts.com%2Fepisodes%2F130-monitoring-with-god&sa=D&sntz=1&usg=AFrqEzeNDtt5QnN2lrF4o9D6IZNCkPtN7Q>
For monitoring your daemons once you've got a few...
5. Delayed Job -
http://railscasts.com/episodes/171-delayed-job<http://www.google.com/url?q=http%3A%2F%2Frailscasts.com%2Fepisodes%2F171-delayed-job&sa=D&sntz=1&usg=AFrqEzdku0ngZnYHGk0IiWwglesjsapGDg>
Automatically supports priority, scheduled-starts and retry-on-failure.
Ryan Bates suggests using the 'collectiveideas' fork on Github as it's more
feature-complete and contains useful recipes (eg Capistrano).
There's also spawn, BackgroundJob, BackgrounDRB, background_fu and heaps of
others.
We're looking at a combination of delayed_job + god (for monitoring.)
But it's interesting to have a look at the wide variety of options out
there.
Cheers,
Taryn
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lrug.org/pipermail/chat-lrug.org/attachments/20091202/3b330e92/attachment-0003.html>
More information about the Chat
mailing list