sched.py
1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2019-10-21 11:06
# @Author : Lemon
# @File : sched.py
# @Software: PyCharm
import datetime
from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.executors.pool import ThreadPoolExecutor
scheduler = BackgroundScheduler(
executors={
'default': ThreadPoolExecutor(300),
},
job_defaults={
'coalesce': True,
'misfire_grace_time': 30,
}
)
def start():
scheduler.start()
def add_task(func, after_delay: int, s='minutes', job_id=None, args=(),replace_existing=False):
job = None
if s == 'minutes':
job = scheduler.add_job(func,
id=job_id,
args=args,
next_run_time=datetime.datetime.now() + datetime.timedelta(minutes=after_delay),
replace_existing=replace_existing)
elif s == 'seconds':
job = scheduler.add_job(func,
id=job_id,
args=args,
next_run_time=datetime.datetime.now() + datetime.timedelta(seconds=after_delay),
replace_existing=replace_existing)
return job