Параллельное выполнение нескольких команд shell с нескольких машин на python и django
У меня есть проект django, запущенный на машине Ubuntu, который в бэкенде использует некоторые команды shell с subprocess.run()
, а затем вывод команд будет перенаправлен в скрипт python для преобразования вывода в PDF файл и после создания вывода, pdf файл будет загружен для пользователя.
Если у меня есть несколько пользователей, которые используют эту опцию, выход pdf не отличается для пользователей.
Например:
Пользователь1 вызывает опцию A.
Пользователь2 вызывает опцию B.
скрипт C будет конвертировать вывод A и B в отдельные PDF файлы. это означает, что каждый вариант может вызвать скрипт C
для конвертации своего вывода в PDF.
вывод A и B для каждого пользователя будет перенаправлен в скрипт C для создания pdf файла.
А если User1 и User2 выполнят опции одновременно, то вывод будет одинаковым для обоих пользователей и это неправильный вывод.
Это означает, что проект одновременно может быть использован только 1 пользователем!
Есть ли способ решить эту проблему? Например, мультипроцессинг, мультиугроза или что-то подобное?