zoukankan      html  css  js  c++  java
  • django定时任务

    第一种:

      安装:

            django安装APScheduler

            pip install apscheduler==2.1.2

      定时任务写法:

    from apscheduler.scheduler import Scheduler
    
    sched = Scheduler()
    
    # 按时间段
    @sched.cron_schedule(hour=14, minute=12)
    def my_task():
        print('ceshi')
    
    #按时间间隔
    @sched.interval_schedule(seconds=6)
    def my_tasks():
        print('123')
    
    
    sched.start()
    ###########
    打印
    #########
    Django version 2.2.2, using settings 'ceshi.settings'
    Starting development server at http://127.0.0.1:8000/
    Quit the server with CTRL-BREAK.
    123
    123
    ceshi
    123
    123
    Process finished with exit code 0
    

      

    第二种:

      安装:

        pip install django-apscheduler

        pip install apscheduler

      在settings注册app:

      
    INSTALLED_APPS = ( 
        ....... 
        django_apscheduler, 
    )
    

      注册后数据迁移:python manage.py migrate

      迁移之后会生成两张表:
        
    django_apscheduler_djangojob
        django_apscheduler_djangojobexecution

      views写法:

      

    from apscheduler.schedulers.background import BackgroundScheduler
    from django_apscheduler.jobstores import DjangoJobStore, register_events, register_job
    
    scheduler = BackgroundScheduler()  # 创建一个调度器对象
    scheduler.add_jobstore(DjangoJobStore(), "default")  # 添加一个作业
    try:
        # @register_job(scheduler, "interval", seconds=1)用interval方式 每1秒执行一次
        @register_job(scheduler, 'cron', day_of_week='mon-sun', hour='8', minute='30', second='10', id='delete_stale_data')  # 定时执行:这里定时为周一到周日每天早上8:30执行一次
        def time_task():
            """定时的任务逻辑"""
            print("delete_stale_data")
        register_events(scheduler)
        scheduler.start()
        # scheduler.remove_job(time_task)  # 移除定时任务
    except Exception as e:
        print(e)
        scheduler.shutdown()
    

      

    更多详细请移步:https://www.cnblogs.com/mxhmxh/p/9537191.html

  • 相关阅读:
    python 小数和百分数之间的转换
    Pandas datetime常用属性
    Pandas 时间处理 获取数组中某月的数据
    Pandas如何将两个Series对象进行与运算
    【数据结构与算法】数组的增删改查
    【效率为王】超详细 Hexo + Github Pages 博客搭建教程
    大牛们都是怎么玩 Manjora 的
    利用 Halo 从 0 到 1 搭建属于自己的博客
    十分钟入门 Markdown 写作
    当前知识水平下的问题复杂度分类
  • 原文地址:https://www.cnblogs.com/sunzhiqi/p/14108728.html
Copyright © 2011-2022 走看看