我很惊讶在搜索如何将 celery 任务与 sorl-thumbnails 和 S3 一起使用时,除了“使用 celery”之外什么都没有看到。
问题:使用远程存储在生成缩略图时会导致大量延迟(对于具有许多缩略图的页面,想想 100 秒以上),而缩略图引擎从远程存储下载原件,对其进行处理,然后上传回 s3。
在 sorl 中设置 celery 任务的好地方在哪里,我应该叫什么?
您的任何经验/想法将不胜感激。
我将开始挖掘 Sorl 的内部结构,以找到一个更有用的地方来延迟这项任务,但我还想知道之前是否已经解决了一些问题。
立即返回什么图像?必须以某种方式告诉 Sorl 返回的图像不是真正的缩略图。当 celery 完成任务时,缓存必须失效。
干净地处理多个缩略图生成请求(只需要给定缓存键的第一个请求)
目前,我通过使用 nginx 反向代理缓存暂时解决了这个问题,该缓存可以在后端花费时间生成昂贵的页面(在巨大的产品网格上调整巨大的 PNG 大小)时提供命中服务,但这是一个非常手动的过程。