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.
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.2.tar.gz
(6.3 kB
view details)
File details
Details for the file pyat-0.0.2.tar.gz.
File metadata
- Download URL: pyat-0.0.2.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a458dec632cf8d4c87a6c14510fe5e6345b63be5e001394d7928b57a4bc12ce
|
|
| MD5 |
5523497f3c42ae980f96bd5dd3d62210
|
|
| BLAKE2b-256 |
8e4c33da89af14e6fe5fe62c27e2b9697f1a34db8f980be523b77bb245efbee8
|