zoukankan      html  css  js  c++  java
  • 总结还是记录都不重要,重要的是我裂了

    1. django的定时任务是怎么用的?

    呃,这个东西我还真没用过,我就举例我们之前定时任务是怎么做的,我就说我们产品中其实也有类似的功能,我就将我们是怎么做的,做法呢,其实就是先起一个线程,而我们在界面上是可以创建各种计划的(schedule)而后将该计划的数据存入数据库中,其中计划中肯定就会有执行的时间和下次执行时间等相关配置,而后我们之前起的线程就从数据库中读取出来,在进行一定的判断,决定到底是否该执行这个计划,生成对应的任务对象来执行。当然,说了一阵,面试官可能觉得我在说废话,只要不会用django自带的执行定时任务的都是垃圾,好吧,那我的下来找找django中是怎么用的,就去找找看,原来是需要安装库  django-crontab,然后在django项目中setting.py文件中添加到app中( django_crontab ),然后在到对应的app下写入需要定时执行的代码,然后在到setting.py文件中配置CRONJOBS=[,]

    最后在执行python manage.py crontab add 启动定时器 。这样应该就可以做一个定死任务了,当然,还有另一种方法,那就是安装库: APScheduler, 然后写一个需要定时执行的方法,在给这个方法加一个装饰器如下:

    from apscheduler.scheduler import Scheduler
    from django.core.cache import cache
    # 实例化
    sched = Scheduler()    
    
    # 每30秒执行一次
    @sched.interval_schedule(seconds=30)
    def sched_test():
        """需要定时执行的代码"""
        pass
    
    # 开启定时器
    sched.start()

    当然,还有 django-celery 组件,不搜不知道,一搜吓一跳,看来还是太孤陋寡闻了,还需要努力学习呀!! 这里就暂时不说了

    2. 类中__new__() 和 __init__()的区别:

    由于自己基础知识不太扎实,当时我就说,__new__()是在__init__()之前执行的,__new__()是创建一个新的对象。哎,才发现自己现在真的很差劲。就只有灰溜溜的回来到网上去查,

    该怎么说呢?其实__new__()是一个静态方法,而__init__()是一个实例方法,而__new__方法是创建一个实例并返回,__init__是对这个实例进行一些初始化的操作。

    暂时就写这么多吧

    坚持不一定成功,但放弃必定失败。
  • 相关阅读:
    MySQL之索引
    MySQL之用户权限及pymysql
    Vue初识
    input标签的accept属性、JQuery绑定keyDown事件
    给bootstrap-sweetalert弹框的按钮绑定事件
    JavaScript FormData对象,FileReader对象,files属性
    Django CBV加装饰器、Django中间件、auth模块
    Django session和cookie
    Django form组件
    Django ajax的简单使用、自定义分页器
  • 原文地址:https://www.cnblogs.com/bao9687426/p/14596297.html
Copyright © 2011-2022 走看看