Django фоновых задач на сервере? - PullRequest
1 голос
/ 31 марта 2020

Я пытаюсь запустить средство запуска фоновых задач на веб-сервере Django. Я не очень знаком с Django, но я делал это с asp. net раньше. Поэтому, по сути, я html и JS отправляю сообщение, которое будет файлом, обычно огромным файлом, а затем Django отправит обратно га sh, для которого проверяется состояние загрузки файла. Веб-сайт затем будет иметь панель обработки, которая сообщает пользователю, какой процент загружен или произошел сбой. Есть ли способ сделать это в Django? В C# для этого есть вещи, называемые делегатами, где вы можете просто проверить статус задания, но веб-сервер все еще получает запросы, потому что я хочу, чтобы сайт продолжал пинговать сервер, чтобы получить статус.

1 Ответ

1 голос
/ 31 марта 2020

Вы можете прочитать здесь более подробно, как обрабатывать загрузку файлов в 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; см. UploadedFile для полной справки.

В зависимости от его размера вам может потребоваться изменить FILE_UPLOAD_MAX_MEMORY_SIZE .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...