【发布时间】:2020-04-20 19:45:15
【问题描述】:
我正在尝试在 APScheduler 中运行多个作业,然后稍后将其删除。但是,运行下面的代码会给我这个错误,“apscheduler.scheduler.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
如果有人可以指导我如何解决此问题或如何运行多个作业并删除 他们以后,那就太好了。
谢谢。
【问题讨论】:
-
为什么这么沉默!同样的问题。