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

Uploaded Source

File details

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

File metadata

  • Download URL: aiosched-0.0.15.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.15.tar.gz
Algorithm Hash digest
SHA256 72fc1032af62e3fbe08a4c383475721931fa00f44c7c27df2395720209e13a2d
MD5 7be21bd48cf68ca2d8a674bf29bbc60f
BLAKE2b-256 5af24f39be366af4c8bf8d337ebf6c3bca427522c0d6afca35baebe63c2318cc

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