我在一个文件中启动了后台调度程序并运行它。然后从其他文件我访问调度程序实例并添加了作业。我的想法是实例将添加作业,它将运行。我是这种调度机制的新手。我做的是
在一个文件Main.py
import time
from apscheduler.schedulers.background import BackgroundScheduler
class Main:
a = 2
sched = BackgroundScheduler()
sched.start()
while True:
time.sleep(5)
来自其他档案Bm.py
from Main import Main
class Bm(Main) :
def timed_job():
print 'aa'
Main.sched.add_job(timed_job,'interval',seconds=1)
我认为这样做,但事实并非如此。我需要从单独的文件中这样做,因为我需要创建一个可以运行作业的任务管理器,我需要能够随时添加或删除作业。如何我们在运行apscheduler中添加和删除作业?
更新:
这令人困惑。我在printme
上添加了一个函数Main.py
,并sched.add_job(printme,'interval',seconds=5)
,按预期打印me
但是当我运行Bm.py
时,它还会打印me
,什么时候应该打印aa
def printme():
print 'me'
while True:
# time.sleep(5)
sched.add_job(printme,'interval',seconds=5)
if (input() is 'q'):
sched.shutdown()