Ошибка запуска нескольких заданий в APScheduler "apscheduler.schedulers.SchedulerAlreadyRunningError: Планировщик уже запущен" - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь запустить несколько заданий в APScheduler, а затем удалить их. Однако выполнение приведенного ниже кода дает мне эту ошибку: «apscheduler.schedulers.SchedulerAlreadyRunningError: Планировщик уже запущен».

from flask import Flask
from apscheduler.schedulers.background import BackgroundScheduler
import time


sched = BackgroundScheduler(daemon=True)
def settingJobs(number):
    global sched
    theId = "id"+number
    print("hello?")
    sched.add_job(deletingJobs, 'interval', args=[theId], seconds=5, id=theId)
    sched.start()

def deletingJobs(theId):
    print("Testing")
    sched.remove_job(theId)


app = Flask(__name__)
@app.route('/')
def index():
    for x in range(0,5):
        settingJobs(str(x))
        time.sleep(2)

    return "hello"

if __name__ == "__main__":
    app.run(debug=False, use_reloader=False)

Вывод, который я получаю, показан ниже

hello?
hello?
…
…
…
apscheduler.schedulers.SchedulerAlreadyRunningError: Scheduler is already running

Если бы кто-нибудь мог дать мне рекомендации о том, как это исправить или как запустить несколько заданий и удалить их позже, это было бы Великий.

Спасибо.

...