Skip to main content

Python scheduling library

Project description

pyat

https://travis-ci.org/vrtsystems/pyat.svg?branch=master https://coveralls.io/repos/vrtsystems/pyat/badge.svg?branch=master&service=github

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.1.tar.gz (5.7 kB view details)

Uploaded Source

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

Hashes for pyat-0.0.1.tar.gz
Algorithm Hash digest
SHA256 9ca31e6f319cacdf0c4dedf50d091d7166d6ead46aca1413147244d2acb99007
MD5 f16d1eb794435972bfe3caefb33e55f9
BLAKE2b-256 261ae62dce3bdab02208f07222e54246206cb69f984f9f9309c7ae3e3a034008

See more details on using hashes here.

Supported by

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