[Subversion] / PEAK / TODO.txt  

Revision 982


Jump to revision:
Previous Next
Author: pje
Date: Wed Apr 16 12:50:18 2003 UTC (21 years ago)

Log Message:

First draft implementation of system scheduling proposal.  (Also, misc.
TODO additions.) Interfaces have been streamlined and names changed.
Daemons are now "periodic tasks", and the provided base class implements an
"adaptive task" interface.  "Daemonic app", "event loop", and "daemon
scheduler" are now just a single "system scheduler" interface, which can
schedule periodic tasks as well as one-offs.  I settled on "higher priority
number" = "higher priority" for priority sorting.

I'm beginning to like this whole "asynchronous programming" model that
Twisted provides.  AdaptiveTask (formerly BaseDaemon) is a lot simpler,
MultiDaemon went away, and the system scheduler is only two screens
of code to manage idle timeouts, prioritized task scheduling, and more.
Heck, "shutdown after X" was as simple as 'callLater(duration,self.stop)'!

There is one minor problem in this draft...  if a task raises an unhandled
exception, it won't be scheduled for further re-run.  I'm not sure if this
is a bug or feature yet.  It should be easy to fix, though.

Changed paths:

Path Action Text Changes Prop Changes Diff to Previous
PEAK/TODO.txt modified X   (diff to previous)
PEAK/src/peak/exceptions.py modified X   (diff to previous)
PEAK/src/peak/running/daemons.py modified X   (diff to previous)
PEAK/src/peak/running/interfaces.py modified X   (diff to previous)
PEAK/src/peak/running/scheduler.py added X X  

cvs-admin@eby-sarna.com

Powered by ViewCVS 1.0-dev

ViewCVS and CVS Help