DRF and Celery: FileNotFoundError: [Errno 2]没有这样的文件或目录



这在我的本地部署上运行良好,但在云部署上却不能。

with open(file_path, "wb+") as fp:
for chunk in file:
fp.write(chunk)
result = upload.delay(name, file_path)

在另一个文件中:

@shared_task
def upload(name, file_path):
path = Path(path_tmp)
if os.path.isfile(path):
do something

错误是

不是一个路径/mediafiles/rawfiles/file.png"FileNotFoundError: [Errno 2] No such file or directory

当我在docker导航到->/mediafiles/rawfiles,文件在那里并且有一个大小

我正在使用DRF ->芹菜→Django .

谁能帮助为什么云部署无法找到文件?

当您使用@shared_task将任务委托给celery worker并尝试访问文件系统时,它会尝试在工作机器上获取该文件。因此,您需要在具有文件的机器上执行此任务,或者将目标文件复制到工作机器。

我添加workdir启动cmd,然后运行良好。

celery -A tasks --workdir=. worker ...

希望对你有帮助。

相关内容

最新更新