使用带有apscheduler的Flask

use*_*388 7 python flask

我使用Python Flask和apscheduler并尝试按如下方式添加/删除作业: -

sched = Scheduler()
sched.start()
print "Schedular Started"


def new_job():
    @sched.interval_schedule(seconds=2)
    def job_function():
        print "Hello World"


@app.route('/add')
def add():
    new_job()
    return 'started'
Run Code Online (Sandbox Code Playgroud)

这个位按预期工作.但是,当我尝试删除这样的工作时:

@app.route('/remove')
def remove():
    sched.unschedule_job(job_function.job)
    return "Removed"
Run Code Online (Sandbox Code Playgroud)

我正在按预期得到"NameError:全局名称'job_function'未定义".我的问题是如何使用不同的路线删除作业?

问候.

use*_*388 6

好的排序吧!

对于其他需要这样做的人:

@sched.interval_schedule(seconds=2)
def job_function():
    print "Hello World"
Run Code Online (Sandbox Code Playgroud)

然后:

sched.unschedule_job(job_function.job)
Run Code Online (Sandbox Code Playgroud)