Пример #1
0
 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)
Пример #2
0
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
Пример #3
0
# 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