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

Uploaded Source

File details

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

File metadata

  • Download URL: aiosched-0.0.9.tar.gz
  • Upload date:
  • Size: 3.6 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.9.tar.gz
Algorithm Hash digest
SHA256 3ad0f78b15f206e74032eea4e9b389b651ea1cd67d96ba60e0120de1797f25bc
MD5 3601963cb910cfdb0f2325846340f6b1
BLAKE2b-256 cbb89e940708f59de0837e1fc2c24b89e0c9b8839e25587ea1f90299eab5b111

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