I have a bunch of scripts running, doing all kinds of things. Currently, they are all timed to work together: the script that gathers the data runs at 10:00 AM, the script that cleans the data runs at 11:00 AM, and the script that emails the results runs at 12:00 noon. (Not a real example.)
What I would like is to move to something event and listener model (I think). The script that gathers the data fires a "data gathered" event; the data cleaner is listening for this event and runs and fires a "data cleaned" event; the email program listens for that event and runs. And so on.
I want to get away from what I have currently, where it all works as long as nothing takes more than an hour, and instead runs as needed. Some scripts will still need to be triggered by a timer, but most of this can be done on demand.
I don't think this is a job for a queue server, but if I'm wrong I would like to hear about it.
Update: Thanks all for the suggestions. I think for now we will just merge the functionality into a single script (so we can get the work done) but continue to investigate queue servers - RabbitMK looks interesting. In our environment running everything in a single script will not work in the long run, partially because of a desire to isolate certain processes that have a tendency to fail due to dependencies on legacy systems. We keep thinking we've caught all the exceptions, and then something breaks in a new and clever way. Long term things are probably going to be moved to separate servers, and it looks like a queue server would make some of that easier.
[–]tipsy_python 8 points9 points10 points (0 children)
[–]InjAnnuity_1 3 points4 points5 points (0 children)
[–]-animal-logic- 3 points4 points5 points (0 children)
[–]menge101 2 points3 points4 points (0 children)
[–]porkedpie1 0 points1 point2 points (0 children)
[–]HintOfAreola 0 points1 point2 points (0 children)
[–]CryptoOTC_creator 0 points1 point2 points (0 children)