Как обычно веб-приложение / API запускает, управляет и сообщает информацию о процессе? - PullRequest
0 голосов
/ 27 марта 2020

У меня есть сценарий python, который выполняет 10-минутный процесс, сохраняет отчет в файловой системе, печатает информацию о результате (статистика, ошибки и т. Д. c.) И затем закрывается. В настоящее время я запускаю его каждый раз, когда пользователю нужен отчет, но клиентская база растет как сумасшедшая, и я не могу идти в ногу со временем.

Я планирую создать веб-приложение, чтобы пользователь мог войдите в систему и укажите параметры скрипта и запустите его одним нажатием кнопки. Затем пользователю будет предоставлена ​​ссылка для просмотра результатов отчета. Результат должен быть доступен для просмотра и [после успеха] должен быть доступен для загрузки пользователем.

Сценарий также выводит информацию о своем запуске, такую ​​как ошибки, исключения, количество загруженных файлов, сколько времени это заняло и т. Д. c. Я хочу иметь возможность вернуть эту информацию пользователю, но я также не хочу, чтобы это зависело от сеанса (поэтому я хочу, чтобы пользователь мог войти в систему, запустить задание, выйти из системы, переключить компьютеры, войдите в систему и увидите все, как будто они были зарегистрированы все время)

Я еще не запустил часть веб-приложения, потому что я просто смотрю работу, поэтому у меня нет никакой код для публикации, но пока вот мои мысли:

1) приложение выполняет вызов Web API для создания «задания» в таблице базы данных. 2) сценарий python (который выполняется 24 / 7 проверяет наличие новых заданий) видит новое задание и запускает процесс завершения задания («Мой задание» - это то, что выполняет мой текущий сценарий) 4) Пользователь может просматривать информацию о своей работе (статус «ожидает», «запущен», «завершен», «не выполнен» и т. д. c.) через веб-приложение и просматривать метаданные работы, включая отчет. ссылка на скачивание.

Есть ли лучше или более типичный способ сделать это, кроме сценария Python, который выполняется 24/7 в ожидании создания «Заданий»?

В качестве дополнительной ошибки, скрипт также в настоящее время выводит информацию о состоянии / отладке, так как он это работает. Есть ли какой-нибудь хороший способ увидеть это в реальном времени?

Большое спасибо! J

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