From d08324e1590df4a7da19b70430e4abe364850d9b Mon Sep 17 00:00:00 2001 From: Andrew Godwin Date: Sat, 17 Dec 2022 15:00:50 -0700 Subject: Handle timeouts on image fetch --- activities/models/emoji.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'activities/models') diff --git a/activities/models/emoji.py b/activities/models/emoji.py index 441be22..522cbc2 100644 --- a/activities/models/emoji.py +++ b/activities/models/emoji.py @@ -2,6 +2,7 @@ import re from functools import partial from typing import ClassVar, cast +import httpx import urlman from asgiref.sync import sync_to_async from django.conf import settings @@ -30,11 +31,14 @@ class EmojiStates(StateGraph): Fetches remote emoji and uploads to file for local caching """ if instance.remote_url and not instance.file: - file, mimetype = await get_remote_file( - instance.remote_url, - timeout=settings.SETUP.REMOTE_TIMEOUT, - max_size=settings.SETUP.EMOJI_MAX_IMAGE_FILESIZE_KB * 1024, - ) + try: + file, mimetype = await get_remote_file( + instance.remote_url, + timeout=settings.SETUP.REMOTE_TIMEOUT, + max_size=settings.SETUP.EMOJI_MAX_IMAGE_FILESIZE_KB * 1024, + ) + except httpx.RequestError: + return if file: instance.file = file instance.mimetype = mimetype -- cgit v1.2.3