【发布时间】:2016-02-28 10:53:00
【问题描述】:
我有一个代码:
def post(self, request, *args, **kwargs):
file = request.FILES["import_file"]
# create a tast with celery and save ID of the task
task_id = importing.delay(file).id
return Response({"task_id": task_id}, content_type="application/json")
当 type(file) 为 TemporaryUploadedFile 时出现错误,因为文件无法写入 redis。
我可以取这个临时文件的名字并将这个名字保存到 Redis 中。然后 celery worker 可以从 redis 中获取这个名字并读取文件。但我不确定:是否可以在 celery worker 从 redis 获得名称之前删除文件?
【问题讨论】:
-
文件是临时的,这意味着它可以在芹菜工人打开它之前被删除。
标签: python django redis celery temporary-files