/
Scheduler.py
40 lines (32 loc) · 1 KB
/
Scheduler.py
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
__author__ = 'matt'
import HomerHelper
from apscheduler.schedulers.gevent import GeventScheduler
from apscheduler.jobstores.memory import MemoryJobStore
from apscheduler.executors.pool import ThreadPoolExecutor
street = HomerHelper.getSettingValue('StreetAddress')
city = HomerHelper.getSettingValue('City')
state = HomerHelper.getSettingValue('State')
timezone = HomerHelper.calcTimeZone(street, city, state)
jobstores = {
'default': MemoryJobStore
}
executors = {
'default': ThreadPoolExecutor(40)
}
job_defaults = {
'misfire_grace_time': None,
'coalesce': True,
'max_instances': 3
}
scheduler = GeventScheduler(executors=executors, job_defaults=job_defaults, timezone=timezone)
scheduler.start()
def schedule(*args, **kwargs):
job = scheduler.add_job(*args, **kwargs)
return job
def KillJob(*args, **kwargs):
scheduler.remove_job(*args, **kwargs)
def KillScheduler():
scheduler.shutdown()
def GetJob(*args, **kwargs):
job = scheduler.get_job(*args, **kwargs)
return job