首页 > 解决方案 > 使用 WSGI + Apache 服务时,如何使 apscheduler 作业运行?

问题描述

我正在开发一个烧瓶后端,它的一项功能需要定期调用外部 API 并将一些结果存储在数据库中。我使用 APScheduler 来做到这一点。

由于无法完全访问上游服务器(谷歌云平台中的 docker 容器),我们设法使用 apache 的 mod_wsgi 为后端提供服务。

从我的 PC 上的调试器运行后端,计划的任务似乎在我的数据库被填充时工作。

但是当我查询应该填充的数据库时,服务器似乎根本没有运行这些任务,表是空的。

我对 APScheduler 的使用如下__init__.py

from apscheduler.schedulers.background import BackgroundScheduler

# Some unrelated code here

scheduler = BackgroundScheduler()
import module as service
scheduler.add_job(service.job1, 'interval', minutes=10)
scheduler.add_job(service.job2, 'interval', minutes=5)
scheduler.add_job(service.job3, 'interval', minutes=1)
scheduler.start()

我在问是否需要执行其他步骤才能使这些任务在上游服务器上运行。

标签: pythonapacheflaskwsgiapscheduler

解决方案


推荐阅读