J'ai un comportement inattendu dans la bibliothèque apscheduler de python.La fonction de tâches planifiées est appelée plusieurs fois dans la bibliothèque APScheduler en python
ici, j'ai un code simple pour appeler la fonction de base comme:
import sys
from time import sleep
from datetime import datetime
from apscheduler.scheduler import Scheduler
import logging
logging.basicConfig()
count = 0;
# start the scheduler
# define the function that is to be executed
# it will be executed in a thread by the scheduler
def my_job():
print "hello world"
def main():
sched = None
while True:
sched=Scheduler()
sched.start()
sched.add_cron_job(my_job,second=3)
sched.print_jobs()
sleep(5)
sys.stdout.write('.'); sys.stdout.flush()
##############################################################
if __name__ == "__main__":
main()
Ici, j'ai une fonction d'imprimer chaîne simple et je veux avoir cet appel ce my_job donc j'appelé my- func utilisant le programmateur comme
sched.add_cron_job(my_job,second=3)
Le programme appelle la fonction désirée mais pendant la troisième seconde de chaque minute. Il imprime plusieurs monde de bonjour comme
hello world
hello world
hello world
plusieurs fois lorsque le temps d'exécution est rencontre.
Je suis confondu avec le comportement de l'ordonnanceur. comment peut-il appeler la fonction plusieurs fois lorsque le temps de planification est atteint?