Exemple #1
0
def update_first_visible_message_id(realm: Realm) -> None:
    try:
        first_visible_message_id = Message.objects.filter(sender__realm=realm).values('id').\
            order_by('-id')[realm.message_visibility_limit - 1]["id"]
    except IndexError:
        first_visible_message_id = 0
    cache_set(realm_first_visible_message_id_cache_key(realm), first_visible_message_id)
Exemple #2
0
def update_first_visible_message_id(realm: Realm) -> None:
    try:
        first_visible_message_id = Message.objects.filter(sender__realm=realm).values('id').\
            order_by('-id')[realm.message_visibility_limit - 1]["id"]
    except IndexError:
        first_visible_message_id = 0
    cache_set(realm_first_visible_message_id_cache_key(realm), first_visible_message_id)
Exemple #3
0
def maybe_update_first_visible_message_id(realm: Realm,
                                          lookback_hours: int) -> None:
    cache_empty = cache_get(
        realm_first_visible_message_id_cache_key(realm)) is None
    recent_messages_count = estimate_recent_messages(realm, lookback_hours)
    if realm.message_visibility_limit is not None and (
            recent_messages_count > 0 or cache_empty):
        update_first_visible_message_id(realm)
Exemple #4
0
def update_first_visible_message_id(realm: Realm) -> None:
    try:
        # We have verified that the limit is not none before calling this function.
        assert realm.message_visibility_limit is not None
        first_visible_message_id = Message.objects.filter(sender__realm=realm).values('id').\
            order_by('-id')[realm.message_visibility_limit - 1]["id"]
    except IndexError:
        first_visible_message_id = 0
    cache_set(realm_first_visible_message_id_cache_key(realm), first_visible_message_id)
Exemple #5
0
def update_first_visible_message_id(realm: Realm) -> None:
    try:
        # We have verified that the limit is not none before calling this function.
        assert realm.message_visibility_limit is not None
        first_visible_message_id = Message.objects.filter(sender__realm=realm).values('id').\
            order_by('-id')[realm.message_visibility_limit - 1]["id"]
    except IndexError:
        first_visible_message_id = 0
    cache_set(realm_first_visible_message_id_cache_key(realm), first_visible_message_id)
Exemple #6
0
def get_first_visible_message_id(realm: Realm) -> int:
    val = cache_get(realm_first_visible_message_id_cache_key(realm))
    if val is not None:
        return val[0]
    return 0
Exemple #7
0
def maybe_update_first_visible_message_id(realm: Realm, lookback_hours: int) -> None:
    cache_empty = cache_get(realm_first_visible_message_id_cache_key(realm)) is None
    recent_messages_count = estimate_recent_messages(realm, lookback_hours)
    if realm.message_visibility_limit is not None and (recent_messages_count > 0 or cache_empty):
        update_first_visible_message_id(realm)
Exemple #8
0
def get_first_visible_message_id(realm: Realm) -> int:
    val = cache_get(realm_first_visible_message_id_cache_key(realm))
    if val is not None:
        return val[0]
    return 0