2013-07-08 12 views
17
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() 

Problem: Jeśli praca call() tylko zamiast sched, to ok Więc jestem zdezorientowany, że dlaczego startowych (self) nie może nazywane całkowicie? i co jest nie tak z "Nie znaleziono handlerków dla rejestratora" apscheduler.scheduler ""? Przede Pythona wyniku kodu:Brak koparki można znaleźć dla rejestratora „apscheduler.scheduler”

W pracy()

W ListHref klasy!

Brak handerls można znaleźć dla rejestratora "apscheduler.scheduler"

W pracy()

W ListHref klasy!

W pracy()

W ListHref klasy!

... (itd)

+0

Spróbuj zainicjować moduł [logowanie] (http://docs.python.org/2/library/logging.html). Coś jak "importowanie logowania; logging.basicConfig()". W ten sposób stworzy się program obsługi dla rootgera i sprawi, że apsler będzie zadowolony. – tdelaney

+0

Dziękuję! Twoje sugestie naprawiły mój problem i Z pliku logu dowiedziałem się, że "kod błędu importu = os.path.dirname (\ _ \ _ plik \ _ \ _)" spowodował błąd. wyniki pokazały, że "globalny" \ _ \ _ plik \ _ \ _ "nie jest zdefiniowany", po tym jak zakodowałem go jak "ścieżka =" F: \ Python_Test "", wszystko jest w porządku. A więc, co jest nie tak z "\ _ \ _ plikiem \ _ \ _"? – Dyllian

+0

Nie mam do tego dobrego wytłumaczenia, chyba że wpisujesz je do interpretera (to znaczy po prostu uruchamiasz pythona i wpisujesz go). Zwykle \ _ \ _ plik \ _ \ _ jest relatywną nazwą pliku bieżącego modułu, ale nie ma "aktualnego modułu" dla interpretera i \ _ \ _ plik \ _ \ _ nie istnieje. – tdelaney

Odpowiedz

40

apscheduler używa Pythona logging module które musi być zainicjowany. Rejestrowanie jest nieco skomplikowane (patrz link), ale minimum to:

import logging 
logging.basicConfig() 

basicConfig obsługuje kilka typowych funkcji rejestrowania ale warto dowiedzieć się nieco bardziej wyrafinowanych zastosowań rejestratora.

Powiązane problemy