Forget for a second what Apache is. Think outside the box with me. Go a little
crazy.
Apache 2 (especially with mod_perl) opens up a whole new world of possibilities. There
are people turning apache into an FTP server, a chat server, a Mail server, a version
control system, etc. I want to turn it into a workflow system. If you think about it,
workflow is nothing but a set of transactional tasks (nothing new) with two additional
components (here's where it get's weird). The two additional components are cron
(scheduling) and queue (a task executor).
So the question is this: What would it take to add these two components to
apache?
Let's think of this another way. What mechanism could we use, to handle what would
normally be considered non-transactional, offline maintenance functions?
Apache is the ultimate event handler. It's listening for socket events. Why couldn't we
change it just a bit to listen to timer events and thusly kick off an execution once per
minute to check a cron tab. The reading of cron tabs is the easy part
(DateTime::Cron::Simple for example). What would it take to just just get Apache to
handle events other than a socket request? Is it possible? Of course it is, presumably
it already knows how to handle signals. If it couldn't, there wouldn't be a way for us
to issue a SIGHUP to do a soft restart. So, how do we get it to also handle timer
events?
Any ideas?
JT ~ Plain Black
ph: 703-286-2525 ext. 810
fax: 312-264-5382
http://www.plainblack.com
I reject your reality, and substitute my own. ~ Adam Savage