首页 > 解决方案 > Django Apscheduler:从作业存储“默认”获取到期作业时出错:连接已关闭

问题描述

我已经在我的 django 项目中配置了 django-apscheduler。由于工作商店,我收到了 gettig 错误。我在我的 settings.py 文件中使用了这些配置。

SCHEDULER_CONFIG = {
    "apscheduler.jobstores.default": {
        "class": "django_apscheduler.jobstores:DjangoJobStore"
    },
    'apscheduler.executors.processpool': {
        "type": "threadpool"
    }
}
SCHEDULER_AUTOSTART = True

我还使用这些代码行创建了一个与 settings.py 平行的 scheduler.py 文件。

import logging

from apscheduler.schedulers.background import BackgroundScheduler
from django.conf import settings

scheduler = BackgroundScheduler(settings.SCHEDULER_CONFIG,job_defaults={'misfire_grace_time': 15*60},deamon=True)


def createJob(func, params, tz, id, hour='*', minute='*', ):
    scheduler.add_job(func, 'cron', params, hour=hour, minute=minute, timezone=tz, id=id)


def printJob():
    try:
        scheduler.print_jobs()
    except Exception as e:
        pass


def removeJob(id):
    try:
        scheduler.remove_job(id)
    except Exception as e:
        pass


def start():
    if settings.DEBUG:
        logging.basicConfig()
        logging.getLogger('apscheduler').setLevel(logging.DEBUG)

    scheduler.start()


start()

标签: pythondjangoapscheduler

解决方案


推荐阅读