Пример #1
0
 def _refresh(action_queue):
     try:
         with DBManager.create_dbapi_cursor_scope(
                 autocommit=True) as cursor:
             cursor.execute(
                 "REFRESH MATERIALIZED VIEW CONCURRENTLY user_rank")
             cursor.execute("VACUUM user_rank")
     finally:
         # Queue up the refresh in 5-6 minutes
         ScheduleManager.execute_delayed(
             UserRanksRefreshManager.delay +
             UserRanksRefreshManager._jitter(),
             lambda: action_queue.submit(UserRanksRefreshManager._refresh,
                                         action_queue),
         )