django 异步执行定时任务APScheduler
pip install apscheduler==2.1.2
亲测支持django2.0,最高版本的没试过
异步执行实例
from apscheduler.scheduler import Scheduler
def task_Fun():
'''
这里写定时任务
'''
a = ReceivedServer() #
a.get() # 调用实例方法 每隔1s执行一次
sched = Scheduler() #
@sched.interval_schedule(seconds=1) # seconds 任务执行间隔时间 以s做单位
def my_task1():
task_Fun()
sched.start()
扩展知识
BlockingScheduler与BackgroundScheduler区别
APScheduler中有很多种不同类型的调度器,BlockingScheduler与BackgroundScheduler是其中最常用的两种调度器。那他们之间有什么区别呢? 简单来说,区别主要在于BlockingScheduler会阻塞主线程的运行,而BackgroundScheduler不会阻塞。所以,我们在不同的情况下,选择不同的调度器:
BlockingScheduler: 调用start函数后会阻塞当前线程。当调度器是你应用中唯一要运行的东西时(如上例)使用。
BackgroundScheduler: 调用start后主线程不会阻塞。当你不运行任何其他框架时使用,并希望调度器在你应用的后台执行
https://www.jianshu.com/p/4f5305e220f0
https://www.cnblogs.com/luxiaojun/p/6567132.html
https://blog.csdn.net/ybdesire/article/details/82228840
多线程
import threading
q = QuoteProtocol(self)
t = threading.Thread(target=q)
t.start()