Фоновая задача Django блокируется, если одновременно выполняется слишком много задач - PullRequest
0 голосов
/ 03 октября 2019

На моем сервере, когда пользователь загружает несколько файлов, будет запущен код python для его обработки.

Я могу успешно загрузить 100 файлов, но если файлы закончились, задача будет заблокирована (Я заглядываю на страницу администрирования Django, там написано "Locked by pid running"), и больше файлы не могут быть обработаны.

Вот код

@background(schedule=datetime.timedelta(seconds=1))
def upload_file():
   .
   .
   .

Но если я прокомментирую @background line out, проблема не возникнет.

Как заставить фоновую задачу Django работать в этой ситуации?

@ background - это декоратор, который превращает любую функцию python в задачу. Это был пакет Джанго (django-background-tasks.readthedocs.io/en/latest)

Ответы [ 2 ]

0 голосов
/ 03 октября 2019

Django не поддерживает распараллеливание и является синхронным языком, поэтому, пока одна задача не будет завершена, вторая не запустится. Пожалуйста, дайте больше кода.

0 голосов
/ 03 октября 2019

ваш вопрос расплывчатый, какой код у @background decorator

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