Cache actor icon in its own task

This commit is contained in:
Thomas Sileo
2019-08-11 12:07:30 +02:00
parent ae8ed147c7
commit 6a459d0f87
4 changed files with 24 additions and 4 deletions

View File

@@ -15,6 +15,7 @@ from requests.exceptions import HTTPError
import config
from config import DB
from config import MEDIA_CACHE
from core import gc
from core.activitypub import Box
from core.activitypub import _actor_hash
@@ -296,6 +297,22 @@ def task_cache_actor() -> _Response:
return ""
@blueprint.route("/task/cache_actor_icon", methods=["POST"])
def task_cache_actor_icon() -> _Response:
task = p.parse(flask.request)
app.logger.info(f"task={task!r}")
actor_iri = task.payload["actor_iri"]
icon_url = task.payload["icon_url"]
try:
MEDIA_CACHE.cache_actor_icon(icon_url)
except Exception as exc:
err = f"failed to cache actor icon {icon_url} for {actor_iri}"
app.logger.exception(err)
raise TaskError() from exc
return ""
@blueprint.route("/task/forward_activity", methods=["POST"])
def task_forward_activity() -> _Response:
task = p.parse(flask.request)