Django Apscheduler:从作业存储“默认”获取到期作业时出错:连接已关闭

2024-04-16 15:13:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经在django项目中配置了django ApsScheduler。我在获取到期工作存储时出错。我在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()

Tags: 文件djangopyimportidsettingsloggingdef