Python scheduling library
Project description
pyat
pyat is the Python analogue of the Unix at daemon, it runs tasks at specified times, optionally providing a means to pass around results and exceptions.
The interface is intended to be able to support a variety of usage scenarios including synchronous applications with a main loop, sporadically called functions, multithreadded/multiprocessing based code and asynchronous frameworks like Twisted or Tornado.
REQUIREMENTS
TYPICAL USAGE
import pyat.sync import time scheduler = pyat.sync.SynchronousScheduler() # ... etc ... background_task = None while True: # ... etc ... scheduler.poll() if foo == bar: # Do something in 10 seconds. background_task = scheduler.schedule( time.time() + 10, my_task, arg1, arg2, kwarg1=arg3) elif foo == baz: # Cancel task background_task.cancel() background_task = None elif (foo == quux) and (background_task is not None): # Check back on background task try: result = background_task.result # do something with result background_task = None except pyat.sync.NotExecutedYet: # A bit too early pass
STATUS
Synchronous implementation pyat.sync works.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyat-0.0.1.tar.gz
(5.7 kB
view hashes)