a distribute task scheduler
Project description
a distribute task scheduler
example
import time
from distask import create_scheduler, register_job
from distask import util
from distask.events import EVENT_SCHEDULER_START
enable_redis = False
client_data = {
"t": "mongo",
"client_args": {
"host": "mongodb://admin:123456@192.168.99.27:27017"
},
"store_args": {
"database": 'testcase_distask',
"schedules": 'schedules',
"jobs": 'jobs',
}
}
if enable_redis:
client_data = {
't': 'redis',
"host":'127.0.0.1',
'port':6379,
'db':15,
}
connection_details=[
{'host': '127.0.0.1', 'port': 6379, 'db': 15},
]
lock_data = {
"t": "rllock",
"reentrant":True,
"connection_details":connection_details,
"ttl":10_000
}
scheduler = create_scheduler(client_data, lock_data, serialize="pickle", limit=1, maxwait=5)
@register_job(scheduler, "interval", (), group="11", subgroup="", seconds=3)
def test_exception(times, *args, **kwargs):
print("test0 ======================")
a = 1 / 0
@register_job(scheduler, 'cron', (12), hour='0,6,12,18', minute=0, timezone='Asia/Shanghai')
def testcron(times, a, *arg, **kwargs):
assert a == 12, "arg is ok"
print("cron====================== ", util.time_now())
@register_job(scheduler, "interval", (), group="11", subgroup="", seconds=3)
def test00(times, *args, **kwargs):
print("test0 ======================")
time.sleep(0.1)
def job_execute(event):
if event.code == EVENT_SCHEDULER_START:
print("start success")
scheduler.add_listener(job_execute, EVENT_SCHEDULER_START)
scheduler.start()
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
distask-0.1.13.tar.gz
(25.0 kB
view details)
File details
Details for the file distask-0.1.13.tar.gz.
File metadata
- Download URL: distask-0.1.13.tar.gz
- Upload date:
- Size: 25.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9e8f96b6d3c31e87de61c5a6a8eb94aa0d7a1ec6772840398c30a3fabe71a01
|
|
| MD5 |
b5940c2a108f3dcebe7a07b39c57d6fa
|
|
| BLAKE2b-256 |
1b12022b4a973ad200140bd0d839c671300128987507bdfb3c1ba831fdf01ee5
|