Пример #1
0
def main():
    config = ConfigLoader('config.ini')
    feed_fetcher = FeedFetcher(config)
    # initial poll to get most recent alert id
    print("Initial fetch to set references...")
    feed_fetcher.poll()

    mail = MailSender(config)

    def job():
        try:
            new_results = feed_fetcher.poll_new()
            new_results.reverse()
            for result in new_results:
                mail.mail_entry(result)
            print(f"Mailing {len(new_results)} entries")
        except FeedFetcher.Inaccessible:
            print('Failed to load feed, deferring to next interval')

    print("Scheduling...")
    schedule.every(config.get_interval()).minutes.do(job)
    print("Now looping!")
    while True:
        schedule.run_pending()
        time.sleep(5)