Запустите Perl-скрипт из Flask Web Application. - PullRequest
0 голосов
/ 01 ноября 2018

У меня есть веб-приложение Flask, которое периодически получает информацию JSON из другого приложения через HTTP POST.

Мое веб-приложение Flask работает на сервере CentOS 7 с Python 2.7.X.

Я могу проанализировать поля из этого полученного JSON в веб-приложении Flask и получить некоторую информацию, которая меня интересует. Например: я получаю ввод JSON и извлекаю из него поле «ID»: «7».

Теперь я хочу запустить perl-скрипт из этого веб-приложения Flask, используя этот «ID»: «7».

Запуск 'perl my_perl_script.pl 7' вручную в командной строке работает нормально. Я хочу, чтобы веб-приложение Flask выполняло это автоматически всякий раз, когда оно получает HTTP-запрос POST, используя определенный идентификационный номер, указанный в этом POST.

Как я могу сделать это во Фляске? Это хорошая идея сделать это с помощью вызова subprocess или я должен рассмотреть возможность реализации очередей с помощью Celery / rq? Или, может быть, другое решение?

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

Заранее спасибо:)

1 Ответ

0 голосов
/ 01 ноября 2018

Sub,

Я голосую "за" на подпроцессе, вот пост на SO об этом. Таким образом контроль остается за Flask. Альтернативой может быть написание сценария Perl, который следит за событием триггера в зависимости от ваших потребностей, но при этом больше внимания уделяется управлению процессом с другой стороны и менее эффективному использованию ресурсов.

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