服务器上的Django后台任务运行程序?

时间:2020-03-31 02:48:05

标签: python django parallel-processing

我正在尝试在Django Web服务器上运行后台任务运行程序。我对Django不太熟悉,但是我之前是用asp.net完成的。所以从本质上来说,我让html和JS发送了一个帖子,该帖子将是一个文件,通常是一个很大的文件,然后Django将发回一个散列,以检查该文件的上传状态。然后,该网站将具有一个处理栏,告诉用户上载百分比或是否崩溃。有没有办法在Django中做到这一点?在C#中,有一个称为“委托”的东西,您可以在其中检查作业的状态,但是Web服务器仍会接收请求,因为我希望站点继续对服务器进行ping操作以获取状态。

1 个答案:

答案 0 :(得分:1)

您可以更详细地阅读enter image description here,了解如何在Django中处理文件上传。您可能会处理上传文件的常见方式是

def handle_uploaded_file(f):
    with open('some/file/name.txt', 'wb+') as destination:
        for chunk in f.chunks():
            destination.write(chunk)

使用 UploadedFile.chunks()而不是使用 read()来确保大文件不会占用系统内存。

UploadedFile对象上还有其他一些方法和属性。有关完整参考,请参见here

根据大小,您可能需要更改UploadedFile