【发布时间】:2020-06-19 05:15:20
【问题描述】:
我在 Django 中使用 S3 作为媒体存储。问题是,如果上传视频,则在视图中返回响应需要很长时间。我知道应该有办法让它异步。
view.py 的sn-p
with transaction.atomic():
media = Media(
med_user_id=account,
med_path=file,
med_thumbnail=thumbnail,
med_assoc_data=data,
)
save_async.delay(media)
变量文件是这个类的视频<class 'django.core.files.uploadedfile.TemporaryUploadedFile'>
当我通过media.save() 保存此内容时,需要 12-20 秒才能完成。我想创建一个可以处理它的芹菜任务。
@app.task(bind=True)
def save_async(self, instance):
instance.save()
我知道这没有任何意义,因为它会引发序列化错误。
Object of type Media is not JSON serializable
所以问题是。我应该如何使model.save() 函数与 celery 异步?
提前谢谢你。
【问题讨论】:
标签: python django python-3.x amazon-s3 celery