On Sat, Oct 18, 2008 at 5:09 AM, qvx <[EMAIL PROTECTED]> wrote: > I need a scheduler which can delay execution of a > function for certain period of time. > My attempt was something like this: > [code snipped] > > But then I came up with the following case: > > 1. I call delay with delay_sec = 10 > 2. The scheduler goes to sleep for 10 seconds > 3. In the meantime (lets say 1 second later) I delay > another func but this time with delay_sec=0.5 > 4. The scheduler is sleeping and won't know call my > second function for another 9 seconds insted of 0.5 > > I started googling for scheduler and found one in standard library > but ih has the same code as mine (it calls the functions in the > right order and my doesn't, but it still waits too long). > The other schedulers from web are dealing with > repeating tasks and such. > > So, I wrote this: > [more code snipped] > > Is there a better way or some library that does that?
I believe you're looking for the 'sched' module: http://www.python.org/doc/2.5.2/lib/module-sched.html Cheers, Chris -- Follow the path of the Iguana... http://rebertia.com > > My observations: > > 1. Threading module uses time.sleep instead of time.clock > which results in less precise results (on windows platform) > > if sys.platform=="win32": #take care of differences in clock > accuracy > wallclock = time.clock > else: > wallclock = time.time > > 2. while analyzing threading module i noticed that wait() is > implemented via loop and tiny sleep periods. I was expecting > the usage of underlaying OS primitives and functions but > then I remembered about GIL and quasi-multithreaded nature > of Python. But still, isn't there a more precise method > that interpreter itself could implement? > > Thanks, > Tvrtko > > P.S. This was Python 2.5 > -- > http://mail.python.org/mailman/listinfo/python-list > -- http://mail.python.org/mailman/listinfo/python-list