Alvin A. Delagon wrote: > Greetings, > > I have to write a python script that would continously monitor and > process a queue database. Once the script sees an unprocessed record it > will create a thread to process it otherwise it will do nothing. I've > been planning to do an infinite loop within the script to do this but > I've been hearing comments that infinite loop is a bad programming > practice. I'm opted to run the script via crontab but I consider it as > my last resort. Do you have any suggestions on the design? Thanks in > advance!
Clearly no process written as an infinite look is expected to run forever - it will be brought down by system reboots, for example, without going into end-of-life issues. The classic network server process is pretty much an infinite loop, though perhaps with a break condition actioned when the operator sets some flag with a command, and there's no real reason why you shouldn't cast your application as such a loop. You will need to do so with care, however. The danger is that you will spend time that should really be allocated to other processes on the system checking for database updates. So you need to design your polling mechanism fairly carefully - perhaps it could sleep five seconds once it found there were no more records that needed processing before looking again, or some similar mechanism to ensure that the system doesn't spend too much time looking for changes. regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC www.holdenweb.com PyCon TX 2006 www.python.org/pycon/ -- http://mail.python.org/mailman/listinfo/python-list