python 具有间隔触发器的 apschedule BlockingScheduler:立即启动
python apschedule BlockingScheduler with interval trigger: Start immediately
我正在使用 python apscheduler 每 45 分钟安排一次特定任务。问题是,当我添加作业并启动调度程序时,它会在 45 分钟后开始。
from apscheduler.schedulers.blocking import BlockingScheduler
class myClass:
def schedule(self):
self.scheduler = BlockingScheduler()
self.scheduler.add_job(self.myJob, 'interval', minutes=45)
self.scheduler.start()
def myJob(self):
print('I finally started')
我尝试设置 start_date,但没有成功。如何确保作业立即执行,而不是在第一次等待间隔后执行?
尝试next_run_time=datetime.now()
。
不是一个好的解决方案,但对我有用。
from apscheduler.schedulers.blocking import BlockingScheduler
class myClass:
def schedule(self):
self.myJob()#run your job immediately here, then scheduler
self.scheduler = BlockingScheduler()
self.scheduler.add_job(self.myJob, 'interval', minutes=45)
self.scheduler.start()
def myJob(self):
print('I finally started')
给出的答案对于一个有据可查的简单任务来说太复杂了:
https://apscheduler.readthedocs.io/en/3.x/modules/triggers/date.html#examples
要立即添加工作运行:
'date' 触发器和 datetime.now() 作为 run_date 是隐式的
sched.add_job(my_job)
我正在使用 python apscheduler 每 45 分钟安排一次特定任务。问题是,当我添加作业并启动调度程序时,它会在 45 分钟后开始。
from apscheduler.schedulers.blocking import BlockingScheduler
class myClass:
def schedule(self):
self.scheduler = BlockingScheduler()
self.scheduler.add_job(self.myJob, 'interval', minutes=45)
self.scheduler.start()
def myJob(self):
print('I finally started')
我尝试设置 start_date,但没有成功。如何确保作业立即执行,而不是在第一次等待间隔后执行?
尝试next_run_time=datetime.now()
。
不是一个好的解决方案,但对我有用。
from apscheduler.schedulers.blocking import BlockingScheduler
class myClass:
def schedule(self):
self.myJob()#run your job immediately here, then scheduler
self.scheduler = BlockingScheduler()
self.scheduler.add_job(self.myJob, 'interval', minutes=45)
self.scheduler.start()
def myJob(self):
print('I finally started')
给出的答案对于一个有据可查的简单任务来说太复杂了: https://apscheduler.readthedocs.io/en/3.x/modules/triggers/date.html#examples
要立即添加工作运行:
'date' 触发器和 datetime.now() 作为 run_date 是隐式的
sched.add_job(my_job)