1.定时任务需求:使用django-apscheduler碰到的问题。
在view文件中定义自己的任务,然后runserver
报错:django.db.utils.NotSupportedError: FOR UPDATE OF is not supported on this database backend.
分析:从现象看是定时模块内部代码调用数据库包导致报错,定时任务模块内部有model需要migrate创建对应的数据表,并能记录任务信息(sqlite上成功过)。未找到解决原因。
解决方法:
不使用django-apscheduler,直接使用apscheduler
使用方法:
1.按常规方法在一个.py文件中定义apscheduler任务
2.在Django view文件中导入apscheduler任务文件即可(django启动时,apschduler会开启任务线程)
3.django-apscheduler相对于apscheduler应该合成了部分Django相关的东西比如数据库等,改用apscheduler在django中实现定时任务/周期任务时,如果有数据存储方面的需求可以自己封装实现更灵活