APSchenuler嵌入Django

# 调度器:BackgroundScheduler 非等待 :当调度器需要后台运行时使用。

# 调度器:BackgroundScheduler 非等待  

from datetime import datetime 

  

from pytz import utc 

import sys 

from apscheduler.schedulers.background import BackgroundScheduler, BlockingScheduler 

from apscheduler.jobstores.sqlalchemy import SQLAlchemyJobStore 

from sqlalchemy import create_engine 

from apscheduler.executors.pool import ProcessPoolExecutor 

  

  

def my_job(id): 

    print('Tick! The time is: %s' % datetime.now()) 

    print(id) 

  

  

sched = BackgroundScheduler({ 

    'apscheduler.jobstores.default': { 

        'type': 'sqlalchemy', 

        'url': 'postgres://postgres:123456@127.0.0.1:5432/postgres' 

    }, 

    'apscheduler.executors.default': { 

        'class': 'apscheduler.executors.pool:ThreadPoolExecutor', 

        'max_workers': '20' 

  

    }, 

    'apscheduler.executors.processpool': { 

        'type': 'processpool', 

        'max_workers': '5' 

    }, 

    'apscheduler.job_defaults.coalesce': 'false', 

    'apscheduler.job_defaults.max_instances': '3', 

    'apscheduler.timezone': 'Asia/Shanghai',  # 设置时区 ,存储桶时区 

}) 

sched.start() 

# # .. do something else here, maybe add jobs etc. 

  

# scheduler.start() 

# scheduler.add_job(myfunc, run_date=datetime(2020, 3, 24, 10, 13, 5)) 

# job = sched.add_job(my_job, 'date', run_date=datetime(2020, 3, 24, 14, 30, 5), args=['1234567'], id="1234567", ) 

# print(job) 

sched.remove_job('1234567')  # 删除任务 

 # 调度器:BlockingScheduler阻塞等待: 当调度器是程序中唯一运行的东西时使用,阻塞式。

# 调度器:BlockingScheduler阻塞等待 

from datetime import datetime 

  

from pytz import utc 

import sys 

from apscheduler.schedulers.background import BackgroundScheduler,BlockingScheduler 

from apscheduler.jobstores.sqlalchemy import SQLAlchemyJobStore 

from sqlalchemy import create_engine 

from apscheduler.executors.pool import ProcessPoolExecutor 

 

# def my_job(id): 

#     print('Tick! The time is: %s' % datetime.now()) 

#     # print(id) 

# 

# 

# sched = BlockingScheduler({ 

#     'apscheduler.jobstores.default': { 

#         'type': 'sqlalchemy', 

#         'url': 'postgres://postgres:123456@127.0.0.1:5432/postgres' 

#     }, 

#     'apscheduler.executors.default': { 

#         'class': 'apscheduler.executors.pool:ThreadPoolExecutor', 

#         'max_workers': '20' 

# 

#     }, 

#     'apscheduler.executors.processpool': { 

#         'type': 'processpool', 

#         'max_workers': '5' 

#     }, 

#     'apscheduler.job_defaults.coalesce': 'false', 

#     'apscheduler.job_defaults.max_instances': '3', 

#     'apscheduler.timezone': 'Asia/Shanghai', #设置时区 ,存储桶时区 

# }) 

# 

# # # .. do something else here, maybe add jobs etc. 

# 

# # scheduler.start() 

# # scheduler.add_job(myfunc, run_date=datetime(2020, 3, 24, 10, 13, 5)) 

# job = sched.add_job(my_job, 'date', run_date=datetime(2020, 3, 24, 14, 15, 5), args=['1234567'],id="1234567",) 

# print(job) 

# # sched.add_job(my_job) 

# 

# 

# sched.start() 
原文地址:https://www.cnblogs.com/Xingtxx/p/15685030.html