8

私は 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'

このビットは期待どおりに機能します。ただし、ここに示すように、ジョブを削除しようとすると:

@app.route('/remove')
def remove():
    sched.unschedule_job(job_function.job)
    return "Removed"

私は取得しています

NameError: グローバル名 'job_function' が定義されていません" は予想どおりです。

私の質問は、別のルートを使用してジョブを削除するにはどうすればよいですか?

よろしく。

4

1 に答える 1

7

OK 並べ替えました!

これを行う必要がある他の人のために:

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

それで:

sched.unschedule_job(job_function.job)
于 2013-10-30T13:37:41.237 に答える