python apschedule BlockingScheduler with interval trigger:立即启动

时间:2017-04-06 11:56:10

标签: python apscheduler

我使用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,但没有成功。如何确保作业立即执行,而不是在第一次等待间隔后?

2 个答案:

答案 0 :(得分:6)

尝试next_run_time=datetime.now()

答案 1 :(得分:0)

不是一个好的解决方案但对我有用。

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')