Wpis z mikrobloga

@kici666: Też tak może być. Ale chodzi mi bardziej o to aby nie robić niepotrzebnie request do strony za każdym uruchomieniem programu. Bo to trwa aby zebrać tysiące wierszy danych za każdym razem.
  • Odpowiedz
@michal42:

from twisted.internet import defer, reactor

@defer.inlineCallbacks
def main(interval=3600):
....try:
........do_crawler_shit()
....except Exception as err:
........log_error(err)
....yield reactor.callLater(interval, main, interval)

reactor.callWhenRunning(main)
reactor.run()
  • Odpowiedz
@michal42: Możesz zapisywać datę wykonania skryptu w wynikach (jeśli to możliwe) albo osobnym pliku i po prostu sprawdzać czy minął już odpowiedni czas ;) Ale osobiście bym użył Task Scheduler jeżeli Winda
  • Odpowiedz
@MakuZo: Dobry pomysł. A jak byś napisał skrypt, gdzie powiedzmy inny użytkownik uruchamia program i nie musi się martwić o bazę danych, uaktualniałaby się ona sama powiedzmy co tydzień.
  • Odpowiedz