diff options
Diffstat (limited to 'Doc/lib/libsched.tex')
-rw-r--r-- | Doc/lib/libsched.tex | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/Doc/lib/libsched.tex b/Doc/lib/libsched.tex deleted file mode 100644 index 75bab7e..0000000 --- a/Doc/lib/libsched.tex +++ /dev/null @@ -1,97 +0,0 @@ -\section{\module{sched} --- - Event scheduler} - -% LaTeXed and enhanced from comments in file - -\declaremodule{standard}{sched} -\sectionauthor{Moshe Zadka}{moshez@zadka.site.co.il} -\modulesynopsis{General purpose event scheduler.} - -The \module{sched} module defines a class which implements a general -purpose event scheduler:\index{event scheduling} - -\begin{classdesc}{scheduler}{timefunc, delayfunc} -The \class{scheduler} class defines a generic interface to scheduling -events. It needs two functions to actually deal with the ``outside world'' ---- \var{timefunc} should be callable without arguments, and return -a number (the ``time'', in any units whatsoever). The \var{delayfunc} -function should be callable with one argument, compatible with the output -of \var{timefunc}, and should delay that many time units. -\var{delayfunc} will also be called with the argument \code{0} after -each event is run to allow other threads an opportunity to run in -multi-threaded applications. -\end{classdesc} - -Example: - -\begin{verbatim} ->>> import sched, time ->>> s=sched.scheduler(time.time, time.sleep) ->>> def print_time(): print "From print_time", time.time() -... ->>> def print_some_times(): -... print time.time() -... s.enter(5, 1, print_time, ()) -... s.enter(10, 1, print_time, ()) -... s.run() -... print time.time() -... ->>> print_some_times() -930343690.257 -From print_time 930343695.274 -From print_time 930343700.273 -930343700.276 -\end{verbatim} - - -\subsection{Scheduler Objects \label{scheduler-objects}} - -\class{scheduler} instances have the following methods: - -\begin{methoddesc}[scheduler]{enterabs}{time, priority, action, argument} -Schedule a new event. The \var{time} argument should be a numeric type -compatible with the return value of the \var{timefunc} function passed -to the constructor. Events scheduled for -the same \var{time} will be executed in the order of their -\var{priority}. - -Executing the event means executing -\code{\var{action}(*\var{argument})}. \var{argument} must be a -sequence holding the parameters for \var{action}. - -Return value is an event which may be used for later cancellation of -the event (see \method{cancel()}). -\end{methoddesc} - -\begin{methoddesc}[scheduler]{enter}{delay, priority, action, argument} -Schedule an event for \var{delay} more time units. Other then the -relative time, the other arguments, the effect and the return value -are the same as those for \method{enterabs()}. -\end{methoddesc} - -\begin{methoddesc}[scheduler]{cancel}{event} -Remove the event from the queue. If \var{event} is not an event -currently in the queue, this method will raise a -\exception{RuntimeError}. -\end{methoddesc} - -\begin{methoddesc}[scheduler]{empty}{} -Return true if the event queue is empty. -\end{methoddesc} - -\begin{methoddesc}[scheduler]{run}{} -Run all scheduled events. This function will wait -(using the \function{delayfunc} function passed to the constructor) -for the next event, then execute it and so on until there are no more -scheduled events. - -Either \var{action} or \var{delayfunc} can raise an exception. In -either case, the scheduler will maintain a consistent state and -propagate the exception. If an exception is raised by \var{action}, -the event will not be attempted in future calls to \method{run()}. - -If a sequence of events takes longer to run than the time available -before the next event, the scheduler will simply fall behind. No -events will be dropped; the calling code is responsible for canceling -events which are no longer pertinent. -\end{methoddesc} |