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 details)
File details
Details for the file pyat-0.0.1.tar.gz
.
File metadata
- Download URL: pyat-0.0.1.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ca31e6f319cacdf0c4dedf50d091d7166d6ead46aca1413147244d2acb99007 |
|
MD5 | f16d1eb794435972bfe3caefb33e55f9 |
|
BLAKE2b-256 | 261ae62dce3bdab02208f07222e54246206cb69f984f9f9309c7ae3e3a034008 |