web-dev-qa-db-fra.com

Aucun gestionnaire n'a été trouvé pour l'enregistreur "apscheduler.scheduler"

from apscheduler.scheduler import Scheduler
import os
class ListHref():
    def __init__(self):
       print 'In ListHref Class!'
       self.name_hrefs = {}
       self.name_img = {}
       self.path = os.path.dirname(__file__)
       print 'Out ListHref Class'
    def other_function():...

def job(): #function named job
    print 'In job!'
    book_href = ListHref()
    print 'book_href created!'

if __name__ == "__main__":
    sched = Scheduler()
    #job() #it's ok if job() called only
    sched.daemonic = False #non daemon thread 
    sched.add_interval_job(job,minutes=0.1)
    sched.start()

Problème: Si vous appelez job () uniquement au lieu de sched, c'est ok Donc je suis confus pourquoi pourquoi init (self) ne peut pas être appelé complètement? et qu'est-ce qui ne va pas avec 'Aucun handerls n'a pu être trouvé pour l'enregistreur "apscheduler.scheduler"'? Au-dessus python:

Dans le travail()

Dans la classe ListHref!

Aucun handerls n'a pu être trouvé pour l'enregistreur "apscheduler.scheduler"

Dans le travail()

Dans la classe ListHref!

Dans le travail()

Dans la classe ListHref!

...(bientôt)

18
Dyllian

apscheduler utilise le python module de journalisation qui doit être initialisé. La journalisation est un peu compliquée (voir le lien) mais le minimum est de:

import logging
logging.basicConfig()

basicConfig prend en charge certaines fonctionnalités de journalisation courantes, mais cela vaut la peine de découvrir certaines des utilisations les plus sophistiquées de l'enregistreur.

43
tdelaney