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
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.
Source Distribution
aiosched-0.0.19.tar.gz
(3.7 kB
view details)
File details
Details for the file aiosched-0.0.19.tar.gz.
File metadata
- Download URL: aiosched-0.0.19.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c73639456bef349ce2c6bcfb1891162d9c87b8e406b4cb28eeff5a9e1306ac5
|
|
| MD5 |
4c3a9a01abf565af6408c7c7eb37b508
|
|
| BLAKE2b-256 |
6f7385fdc3a36619b174682ec83451fbe0f9ec3230e84ea50513f40dd1ad01b0
|