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) # jobs 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size aiosched-0.0.25.tar.gz (3.8 kB) | File type Source | Python version None | Upload date | Hashes View |