On our servers we have deployed multiple Rails applications using Phusion Passenger. Each application has a set of tasks that must be scheduled and run periodically (the usual clear caches, send mail, etc.)
All the examples I've seen in the wild usually show a separate daemon that handles the scheduled tasks for an application. However, this requires that the daemon load the app's environment. While this works when you have one or two apps deployed, it does not scale when there might be 100 apps deployed on a server. (For example, each "daemon" loads up an entire Rails environment plus the app code, which could be well over 50MB. Deploy 100 apps, and you're chewing up 5GB just in scheduler daemons.)
Has anyone solved this problem?