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
|