这个问题可能是由于多次调用APScheduler定时器函数导致的。我们可以通过创建单例对象来解决。
代码示例:
from apscheduler.schedulers.background import BackgroundScheduler
class Scheduler:
_instance = None
_scheduler = None
def __new__(cls):
if cls._instance is None:
cls._instance = super().__new__(cls)
cls._scheduler = BackgroundScheduler()
return cls._instance
def __init__(self):
pass
def add_job(self, func, args, trigger):
self._scheduler.add_job(func, trigger=trigger, args=args)
def start(self):
self._scheduler.start()
def shutdown(self):
self._scheduler.shutdown()
def task():
print('running...')
if __name__ == '__main__':
s = Scheduler()
s.add_job(task, (), 'interval', id='my_job', minutes=1)
s.start()