django定时任务简单实现, 先安装相关
pip install django-apschedulersetting里添加:
INSTALLED_APPS = [ 'django_apscheduler', ]执行migrate,形成2个关于job的表单
python manage.py migrateapp下建个文件写定时任务:
编辑文件:
from apscheduler.schedulers.background import BackgroundScheduler from django_apscheduler.jobstores import DjangoJobStore, register_events, register_job # 实例化调度器 scheduler = BackgroundScheduler() # 调度器使用默认的DjangoJobStore() #添加定时任务到数据库,执行一次就行 # scheduler.add_jobstore(DjangoJobStore(), 'default',) #要每次创建覆盖原job,可以看另一个方法add__job,其中有replace的参数 # 执行这个任务 @register_job(scheduler, 'interval', id='test',, minutes=0.1) def test(): # 具体要执行的代码 print('222') # 注册定时任务并开始 #下面这句话失效了,先标注下 # register_events(scheduler) #开始 # scheduler.start() #关闭(数据库里的任务还在) # scheduler.remove_job('test')最后我是在urls里引入文件
urls.py from app import cron_job