zoukankan      html  css  js  c++  java
  • django集成Apscheduler2

    转载:

    https://zhuanlan.zhihu.com/p/46690789

    在django的某个app启动apscheduler

    ready方法会在django启动的时候执行,有一个bug,方法总是会同时执行两次

    #apps.py
    from django.apps import AppConfig
    
    
    class JobscheduleConfig(AppConfig):
        default_auto_field = 'django.db.models.BigAutoField'
        name = 'jobSchedule'
    
        def ready(self):
            import datetime
            from apscheduler.schedulers.background import BackgroundScheduler
    
            def job_func(text):
                print("当前时间:"+text, datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S.%f")[:-3])
    
            scheduler = BackgroundScheduler()
            scheduler.add_job(job_func, 'cron',  second='0,10,20,30,40,50',args=("sss",))
            scheduler.start()

    bug解决

    新建app,jobSchedule

    一、在一级urls.py引入新app的urls

    urlpatterns = [
       ...
        path('jobSchedule/', include('jobSchedule.urls')),
    ]

    二、在app的urls.py引入views.py

    from django.urls import path
    
    from . import views
    
    app_name = 'jobSchedule'
    
    urlpatterns = [
        path('', views.index, name='index'),
    ]

    三、views.py

    import datetime
    from apscheduler.schedulers.background import BackgroundScheduler
    
    
    def job_func(text):
        print("当前时间:" + text, datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S.%f")[:-3])
    
    
    scheduler = BackgroundScheduler()
    scheduler.add_job(job_func, 'cron', second='0,10,20,30,40,50', args=("sss",))
    scheduler.start()
    
    
    def index(request):
        return None

    这样就正常了

  • 相关阅读:
    numpy基本使用2
    python 继承 多态
    动态规划算法题(5题)
    利用栈非递归实现块排
    数据结构
    对Node的优点和缺点提出了自己的看法?
    前后端交互流程,如何进行交互
    Web App、Hybrid App与Native App的设计差异
    什么叫优雅降级和渐进增强?
    常用博客
  • 原文地址:https://www.cnblogs.com/wangbin2188/p/15665623.html
Copyright © 2011-2022 走看看