def test_fetch_currency_exchange_rates(self): fake_rates = self.db.all("SELECT * FROM currency_exchange_rates") fetch_currency_exchange_rates() with self.db.get_cursor() as cursor: cursor.run("DELETE FROM currency_exchange_rates") execute_values(cursor, """ INSERT INTO currency_exchange_rates (source_currency, target_currency, rate) VALUES %s """, fake_rates)
conf = website.app_conf if conf: intervals = conf.cron_intervals cron = Cron(website) cron(intervals.get('check_db', 600), website.db.self_check, True) cron(intervals.get('dequeue_emails', 60), Participant.dequeue_emails, True) cron(intervals.get('send_newsletters', 60), Participant.send_newsletters, True) cron(intervals.get('refetch_elsewhere_data', 120), refetch_elsewhere_data, True) cron(intervals.get('refetch_repos', 60), refetch_repos, True) cron(Weekly(weekday=3, hour=2), create_payday_issue, True) cron(intervals.get('clean_up_counters', 3600), website.db.clean_up_counters, True) cron(Daily(hour=16), lambda: fetch_currency_exchange_rates(website.db), True) cron(Daily(hour=17), Payday.update_cached_amounts, True) cron(Daily(hour=8), clean_up_closed_accounts, True) cron(intervals.get('notify_patrons', 1200), Participant.notify_patrons, True) cron(intervals.get('migrate_identities', 120), Participant.migrate_identities, True) if conf.ses_feedback_queue_url: cron(intervals.get('fetch_email_bounces', 60), handle_email_bounces, True) cron(Daily(hour=1), clean_up_emails, True) cron('once', website.cryptograph.rotate_stored_data, True) # Website Algorithm
# Periodic jobs # ============= conf = website.app_conf if conf: intervals = conf.cron_intervals cron = Cron(website) cron(intervals.get('check_db', 600), website.db.self_check, True) cron(intervals.get('dequeue_emails', 60), Participant.dequeue_emails, True) cron(intervals.get('send_newsletters', 60), Participant.send_newsletters, True) cron(intervals.get('refetch_elsewhere_data', 120), refetch_elsewhere_data, True) cron(intervals.get('refetch_repos', 60), refetch_repos, True) cron(Weekly(weekday=3, hour=2), create_payday_issue, True) cron(intervals.get('clean_up_counters', 3600), website.db.clean_up_counters, True) cron(Daily(hour=16), lambda: fetch_currency_exchange_rates(website.db), True) cron(Daily(hour=17), Payday.update_cached_amounts, True) cron(Daily(hour=8), clean_up_closed_accounts, True) cron(intervals.get('notify_patrons', 120), Participant.notify_patrons, True) cron(intervals.get('migrate_identities', 120), Participant.migrate_identities, True) if conf.ses_feedback_queue_url: cron(intervals.get('fetch_email_bounces', 60), handle_email_bounces, True) cron('once', website.cryptograph.rotate_stored_data, True) # Website Algorithm # ================= noop = lambda: None algorithm = website.state_chain