Skip to main content

No project description provided

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


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)

Uploaded Source

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

Hashes for pyat-0.0.2.tar.gz
Algorithm Hash digest
SHA256 0a458dec632cf8d4c87a6c14510fe5e6345b63be5e001394d7928b57a4bc12ce
MD5 5523497f3c42ae980f96bd5dd3d62210
BLAKE2b-256 8e4c33da89af14e6fe5fe62c27e2b9697f1a34db8f980be523b77bb245efbee8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page