微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Apscheduler get_jobs() 返回空列表

如何解决Apscheduler get_jobs() 返回空列表

为此苦苦挣扎了一段时间。我在带有 UWsgi 的 AWS 服务器上使用 Flask 设置了我的 apscheduler。除了我无法从 scheduler.get_jobs() 获取预定作业列表外,一切似乎都正常。还尝试了 scheduler.print_jobs() 的结果为“none”。代码如下:

from flask import Flask
app = Flask(__name__)

from apscheduler.schedulers.background import BackgroundScheduler
scheduler = BackgroundScheduler(daemon=True)
scheduler.start()

我有一个 app.route 来启动周期性任务,然后是另一条路线来显示预定路线。我的定期任务开始得很好,并以正确的时间间隔执行它需要做的事情(更新我的谷歌电子表格文件)。

#schedules the job but returns "None"
@app.route("/runscheduler")
def runscheduler():
    with app.app_context():
        job = scheduler.add_job(get_balance,'interval',seconds=120,id="sfvs")
        return str(scheduler.print_jobs())

我尝试创建一个返回 scheduler.get_jobs() 的路由,但返回一个空列表

@app.route("/schedule")
def schedule():
    return str(scheduler.get_jobs())

我尝试的最后一件事是通过我家路线中的 id 获取工作信息,这实际上返回了所有正确的信息:

@app.route("/")
def hello():
    return str(scheduler.get_job("sfvs"))

returns: get_balance (trigger: interval[0:02:00],next run at: 2021-02-21 03:39:17 UTC)

所以我的问题是为什么我的代码不能显示预定作业的列表(既不是 scheduler.get_jobs() 也不是 scheduler.print_jobs()),但我仍然可以通过 id 访问它来获取我的工作的所有详细信息?最重要的是,该作业仍能以正确的时间间隔完美地执行。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。