总结还是记录都不重要,重要的是我裂了

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__是对这个实例进行一些初始化的操作。

暂时就写这么多吧

坚持不一定成功,但放弃必定失败。
原文地址:https://www.cnblogs.com/bao9687426/p/14596297.html