I am just learning Ruby and planning a to use it for a network monitoring system. I would like to design a system that will scale well and handle large work loads ( tens of thousands of monitors per server ). My question is about concurrency. I am looking at threads and have fiddled with them a bit. Ruby makes threading pretty straight forward. Now I'm trying to figure how to best use them. The design goal is to have a server host tens of thousands of monitors in the most efficient way. Monitors will need to be executed at specific and varying intervals. (i.e. 1000 monitors once a minute / 2000 monitors once every three minutes / 5000 monitors once every 5 minutes / 10,000 monitors once every 10 minutes, etc.) This is a problem that I'm sure has already been solved. I would appreciate any suggestions that the group can offer regarding a proven design to tackle this goal. Thanks, Don -- Posted via http://www.ruby-forum.com/.