验证APScheduler任务是否已正确执行

时间:2015-12-14 20:21:04

标签: python python-2.7 datetime scheduled-tasks apscheduler

我尝试使用APScheduler库在两个特定时间执行作业:太平洋标准时间凌晨一点和太平洋标准时间凌晨两点。

丢失的种类,我试图弄清楚做错了什么。到目前为止,这是我的代码:

#!/usr/bin/python

import sys
import re
import urllib
import csv
import urllib2
import logging

import datetime

from apscheduler.schedulers.blocking import BlockingScheduler


sched = BlockingScheduler()
logging.basicConfig()

def main():    
  #Make a rest call, store the output in a csv, close the file.
  ...
  f.close()

sched.add_job(my_job, 'date', run_date = '2015-12-15 01:00:00', args=['text'])

try:
    sched.start()
    print(datetime.datetime.now())

except (KeyboardInterrupt):
    logger.debug('Terminating...')
    print (datetime.datetime.now())

当前时间是太平洋标准时间12:16,我刚刚运行了上面的脚本,并在下午12:30:30的工作时间之前执行并创建了文件;这是出于测试目的。

所以,我试图弄清楚我在使用APScheduler时遇到了什么问题。

我想改进这段代码,我可以改变哪些内容?

1 个答案:

答案 0 :(得分:0)

如果您希望每次都在特定时间运行代码,那么您应该使用cron触发器:

sched.add_job(my_job, 'cron', hour='1,2', args=['text'])

为了更好的调试:

logging.basicConfig(level=logging.DEBUG)