2015-12-14 2 views
0

J'essaie d'utiliser la bibliothèque APScheduler pour exécuter un travail à deux moments: 1 heure PST et 2 heures PST. Un peu perdu, j'essaie de comprendre ce qui ne va pas. Voici mon code à ce jour:Vérification de l'exécution correcte d'une tâche 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()) 

L'heure actuelle est 12h16 PST, je viens de rencontrer le script ci-dessus et il a exécuté et a créé le fichier avant l'heure de travail de 12:30:30 heures; C'est à des fins de test. Donc, j'essaie de comprendre ce que je fais mal en ce qui concerne l'utilisation de APScheduler.

Je veux améliorer ce code, quelles sont les choses que je peux changer?

Répondre

0

Si vous voulez exécuter votre code à certains moments à chaque fois, vous devez utiliser le déclencheur cron:

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

Pour une meilleure mise au point:

logging.basicConfig(level=logging.DEBUG)