django celery 上传处理大文件出错

django 上传文件大小有个默认值 2.5M,

小于2.5M时,会放在 InMemoryFileUploadFile(内存里面) 对象里面;
大于2.5M时,会放在 TemporaryFileUploadFile (磁盘文件)里面

而 celery 做pickle_dump时会去找file object的encoding
这个encoding目前发现只能存在 InMemoryFileUploadFile 对象里面

所以,我们只有将所有上传文件都放到 InMemoryFileUploadFile 里面,才能通过celery

可以通过在settings里面设置

FILE_UPLOAD_MAX_MEMORY_SIZE = 50*1024*1024

来修改策略使所有50M以内的文件都存在 InMemoryFileUploadFile 里面

这个设置谨慎使用,防止内存溢出!!!

你可能感兴趣的:(django celery 上传处理大文件出错)