Skip to main content

asyncio job scheduler

Project description

aiosched - Python asyncio jobs scheduler

Executes specified asyncio jobs with a chosen interval. Has relatively small number of features but it's fast.

Why one more scheduler?

  • it's extremely accurate and fast
  • it's simple
  • all methods are thread-safe

Example

from aiosched import scheduler
import asyncio

async def test1(a, b, c):
    print(f'JOB1 {a} {b} {c}')

async def test2():
    print('JOB2')

async def test3():
    print('JOB3')

from aiosched import scheduler

loop = asyncio.new_event_loop()
scheduler.start(loop=loop)
# tsks can be added before actual start in pending mode
job1 = scheduler.create_threadsafe(target=test1, args=(1, 2, 3), interval=1)
job2 = scheduler.create_threadsafe(target=test2, interval=0.5)
# run job once after 5 seconds
job3 = scheduler.create_threadsafe(target=test3, number=1, timer=5)
# cancel job 2
scheduler.cancel(job2)
# equal to
job2.cancel()

loop.run_forever()

or run scheduler loop as coroutine:

loop = asyncio.new_event_loop()
job1 = scheduler.create_threadsafe(target=test1, args=(1,2,3), interval=0.1)
job2 = scheduler.create_threadsafe(target=test2, interval=0.1)
loop.run_until_complete(scheduler.scheduler_loop())

Install

pip3 install aiosched

Advanced

Read AsyncJobScheduler and AsyncScheduledJob classes documentation in pydoc.

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

aiosched-0.0.11.tar.gz (3.7 kB view details)

Uploaded Source

File details

Details for the file aiosched-0.0.11.tar.gz.

File metadata

  • Download URL: aiosched-0.0.11.tar.gz
  • Upload date:
  • Size: 3.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.3

File hashes

Hashes for aiosched-0.0.11.tar.gz
Algorithm Hash digest
SHA256 de506ae14f7bf62b8996759ce70b486dac02d741af034be209122df7dff3a7f5
MD5 a0601d47b445d2a2e98e8881d03a4c08
BLAKE2b-256 aa046a144300a72688e5fbae4e161fffa4ca3e9b375c17fdf426ee0ec2f125d3

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