python - Django 文件 uploader 抛出错误 "cannot pickle ' _io.BufferedRandom' object"同时使用 celery 上传更多感谢 2.5mb 的图像

标签 python django serialization celery pickle

我正在尝试在 Django 中上传图像文件,我使用 celery 将上传任务发送到任务队列中,但是当我上传大于 2.5mb 的图像文件时,它会崩溃并出现此错误 cannot pickle '_io.BufferedRandom ' object 我已经向 Django 添加了一些设置选项,但这不起作用。

celery 应用程序设置

FILE_UPLOAD_MAX_MEMORY_SIZE = 90005000
CELERY_BROKER_URL = os.environ.get('REDIS_TLS')
CELERY_ACCEPT_CONTENT = ['pickle', 'application/json']
CELERY_TASK_SERIALIZER = 'pickle'

CELERY_RESULT_BACKEND = 'django-db'

有什么办法可以解决这个问题,提醒一下,当我单独使用 Django 上传图像文件时,无论大小它都可以工作,所以问题是由于 celery 无法处理大于 2.5MB 的文件

最佳答案

您需要在settings.py中设置FILE_UPLOAD_MAX_MEMORY_SIZE变量。

例如,

FILE_UPLOAD_MAX_MEMORY_SIZE = 10 * 1024 * 1024 # 10 Mb limit

如果需要,您还需要为 Nginx 服务器配置相同的限制。

关于python - Django 文件 uploader 抛出错误 "cannot pickle ' _io.BufferedRandom' object"同时使用 celery 上传更多感谢 2.5mb 的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68392781/

相关文章:

Python解析XML后不释放内存

javascript - 查找相交数组的列表

python - numpy bool 数组的高效序列化

java - 无法序列化已经序列化的类?

serialization - 我们如何编写一个通用函数来检查 Serde 序列化和反序列化?

python - mongokit 未找到集合

python - tensorflow 错误 : Attempting to use uninitialized value multi_rnn_cell

python - 如何使用无效标识符作为 Django 表单字段名称

jquery - 向 Django REST Framework 发送 jQuery 请求导致未找到 JSON 对象错误

python - Django 管理页面未显示