Kaynağa Gözat

django-apscheduler测试代码

peng 2 yıl önce
ebeveyn
işleme
d4361a7c79
3 değiştirilmiş dosya ile 27 ekleme ve 0 silme
  1. 3 0
      Ansjer/cn_config/test_settings.py
  2. 7 0
      Model/apps.py
  3. 17 0
      Model/views.py

+ 3 - 0
Ansjer/cn_config/test_settings.py

@@ -19,8 +19,10 @@ INSTALLED_APPS = [
     'imagekit',
     'Model',
     'PushModel',
+    'django_apscheduler'
 ]
 
+SCHEDULER_DEFAULT = True
 MIDDLEWARE = [
     'corsheaders.middleware.CorsMiddleware',
     'Service.middleware.StatisticsUrlMiddleware',
@@ -120,6 +122,7 @@ DATABASES = {
 DATABASE_ROUTERS = ['Ansjer.database_router.DatabaseAppsRouter']
 DATABASE_APPS_MAPPING = {
     'Model': 'default',
+    'django_apscheduler': 'default',
     'PushModel': 'mysql02',
 }
 

+ 7 - 0
Model/apps.py

@@ -1,4 +1,11 @@
 from django.apps import AppConfig
+from django.conf import settings
+
 
 class UsermanagerConfig(AppConfig):
     name = 'Model'
+
+    def ready(self):
+        if settings.SCHEDULER_DEFAULT:
+            from Model import views
+            views.start()

+ 17 - 0
Model/views.py

@@ -1,3 +1,20 @@
 from django.shortcuts import render
 
 # Create your views here.
+import time
+from apscheduler.schedulers.background import BackgroundScheduler
+from django_apscheduler.jobstores import DjangoJobStore
+from Ansjer.config import LOGGER
+
+
+def auto_hello():
+    now_time = time.time()
+    print('hello world:[{}]'.format(now_time))
+
+
+def start():
+    scheduler = BackgroundScheduler()
+    scheduler.add_jobstore(DjangoJobStore(), 'default')
+
+    scheduler.add_job(auto_hello, 'cron', day='*', hour=15, minute=30, replace_existing=True, id='test_job')
+    scheduler.start()