On 2/20/2013 11:04 PM, Rita wrote:
Here is what I am trying to do. (Currently, I am doing this in cron but
i need much more granularity). I am trying to run program every 20 secs
and loop forever. I have several of these types of processes, some
should run every 5 mins, 10 secs, 20 secs, 1 min and so forth. I was
wondering what is the best way to do this?
One way is to use a heap as a priority queue (see heapq module).
Make a table of (delay, process) pairs.
Load time-to-execute, process pairs in the queue.
Run the main loop:
while True:
get top of queue
sleep time-to-execute - now() seconds
start subprocess
put new time-to-execute, process pair in the queue
This simple version assumes that processes are self-contained and do not
need to communicate with driver process and its loop.
Also, would Greenlet do something I am asking for?
Don't know.
--
Terry Jan Reedy
--
http://mail.python.org/mailman/listinfo/python-list