一、项目做一个定时请求版本信息的定时任务,我用是python实现定时任务(参考)
from threading import Timer
...
..
.
# 定时调度请求版本信息
def sussrv(signum):
print('start...')
......
.....
....
...
..
.
#Timer(60, sussrv).start() # 开启定时器,每隔60秒执行一次任务
sussrv()
部署后用uwsgi起发现跑不起来,最后想想是走uwsgi后不会走manage.py那个服务,这样做显然是行不通的,项目总是要部署的。最后使用用uwsgi跑定时任务得以解决。
二、用uwsgi跑定时任务(参考)
我的代码:
1.app视图views.py文件里面:
```python
def sussrv(signum):
print('start...')
...
..
.
# 定时器,每隔60秒执行一次任务
jobs = [{ "name" : sussrv, # 需要执行定时任务的函数名
"time": [60], # 每隔60秒
}]
2.写到Django程序的wsgi.py里面,uwsgi的入口程序:
```python
import uwsgi
from xxxx.views import *
for job_id, job in enumerate(jobs):
uwsgi.register_signal(job_id, "", job['name'])
if len(job['time']) == 1:
uwsgi.add_timer(job_id, job['time'][0])
uwsgi实现定时任务的Python接口详细请参考官方文档