django 异步执行定时任务APScheduler

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()

django中使用多线程对整个项目不太友好,慎用!!!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值