-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathclock.py
32 lines (25 loc) · 992 Bytes
/
clock.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
import os
from apscheduler.schedulers.blocking import BlockingScheduler
sched = BlockingScheduler({
'apscheduler.executors.default': {
'class': 'apscheduler.executors.pool:ThreadPoolExecutor',
'max_workers': '1'
},
'apscheduler.job_defaults.coalesce': 'false',
'apscheduler.job_defaults.max_instances': '1',
'apscheduler.timezone': 'UTC'
})
@sched.scheduled_job('interval', minutes=15)
def refresh_data_sources():
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'collaborative.settings')
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
argv = ['./manage.py', 'refresh_data_sources']
execute_from_command_line(argv)
sched.start()