def _get_cached_events(user_id, now, page): db_event.remove_cached_events(user_id, now - timedelta(hours=2)) cached_events = list(db_event.get_cached_events(user_id, page, PAGE_SIZE)) existMoreFutureEvents = True if not cached_events: last_event = db_event.get_last_event_cached(user_id) if not last_event: existMoreFutureEvents = _get_today_events(user_id, now) cached_events = list(db_event.get_cached_events(user_id, page, PAGE_SIZE)) else: existMoreFutureEvents = _get_future_events(user_id, now, last_event["event_start_date"]) cached_events = list(db_event.get_cached_events(user_id, page, PAGE_SIZE)) while len(cached_events) < PAGE_SIZE and existMoreFutureEvents: last_event = db_event.get_last_event_cached(user_id) existMoreFutureEvents = _get_future_events(user_id, now, last_event["event_start_date"] if last_event else now) cached_events = list(db_event.get_cached_events(user_id, page, PAGE_SIZE)) return [event["event"] for event in cached_events]
def _get_cached_events(user_id, type_events, now, page): cached_events = list(db_event.get_cached_events(user_id, type_events, page, PAGE_SIZE)) if cached_events: if now - cached_events[0]['timestamp'] < timedelta(hours=2): return [event["event"] for event in cached_events] db_event.remove_cached_events(user_id, type_events) db_event.remove_last_offset_cached(user_id, type_events) return []
def _get_cached_events(user_id, now, page): db_event.remove_cached_events(user_id, now - timedelta(hours=2)) cached_events = list(db_event.get_cached_events(user_id, page, PAGE_SIZE)) existMoreFutureEvents = True if not cached_events: last_event = db_event.get_last_event_cached(user_id) if not last_event: existMoreFutureEvents = _get_today_events(user_id, now) cached_events = list( db_event.get_cached_events(user_id, page, PAGE_SIZE)) else: existMoreFutureEvents = _get_future_events( user_id, now, last_event["event_start_date"]) cached_events = list( db_event.get_cached_events(user_id, page, PAGE_SIZE)) while len(cached_events) < PAGE_SIZE and existMoreFutureEvents: last_event = db_event.get_last_event_cached(user_id) existMoreFutureEvents = _get_future_events( user_id, now, last_event["event_start_date"] if last_event else now) cached_events = list( db_event.get_cached_events(user_id, page, PAGE_SIZE)) return [event["event"] for event in cached_events]