我正在编写的应用程序中,允许用户上传图片,我会对其进行调整大小并自动上传到亚马逊s3。目前,图像调整大小是在视图中直接完成的,我想通过celery将其转移到分布式工作程序上。我的问题是,将图像传递给工作者的最佳方法是什么?我目前的想法是直接将图像存储在数据库中,然后只需将id传递给工作者并让它检索它。有没有比暂时将其存储在数据库中更好的做法,直到可以处理它为止?
我正在编写的应用程序中,允许用户上传图片,我会对其进行调整大小并自动上传到亚马逊s3。目前,图像调整大小是在视图中直接完成的,我想通过celery将其转移到分布式工作程序上。我的问题是,将图像传递给工作者的最佳方法是什么?我目前的想法是直接将图像存储在数据库中,然后只需将id传递给工作者并让它检索它。有没有比暂时将其存储在数据库中更好的做法,直到可以处理它为止?
根据celery文档的说明,最好不要将整个图像作为参数传递,这会导致额外的开销。因此,最好先将其保存,然后将照片ID作为参数传递,检索图像并进行调整大小/上传。