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.9.tar.gz
(24.1 kB
view details)
File details
Details for the file distask-0.1.9.tar.gz.
File metadata
- Download URL: distask-0.1.9.tar.gz
- Upload date:
- Size: 24.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5256e0f4523203a28b85ad2e179dfa0d732e1f6ab9ff2bae76d64ae84d2ebc9b
|
|
| MD5 |
7f2653c28ccaaf5eb8ba84b2d802ac8e
|
|
| BLAKE2b-256 |
8da5d252ba325e69cb2668a82681b9715577d0e0c703cdfaa81510f66ff7d0d2
|