Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
 Аватар для Zuzik
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557

Запуск внешнего процесса

27.11.2014, 10:56. Показов 1660. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно сделать вот что : пользователь вводит данные в текстовое поле на сайте, данные проверяются, на их основе запускается программа в операционной системе, там где расположен сайт, далее пользователю на сайте выдается то что выдала данная программа.
Порядок действий таков примерно:
1) Ввод данных, их проверка проблем не составит.
2) Потом введенные данные передаются представлению, которое запускает программу с помощью subprocess.
Как именно реализовывать следующие 2 пункта я хз.
3) Пользователь в это время видит красивую ( или неочень красивую ) картинку, мол программа работает, ждите.
4) как только программа отработала картинка сменяется выведенными результатами работы программы.
Подскажите примерно как это нужно делать, можно хотя бы идею, реализую сам.
Как то так. Буду рад любым ответам. Очень рад.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.11.2014, 10:56
Ответы с готовыми решениями:

Запуск внешнего .exe файла и сравнение того, что он выведет в консоль
Итак, необходимо запустить .exe файл с ограничением по времени, передав ему в входные данные что-либо, потом проверив выходные файлы с...

Запуск внешнего процесса их программы
Здравствуйте. Хочу запустить внешний процесс из программы. Пишу: ProcessBuilder processBuilder = new ProcessBuilder(); ...

Запуск внешнего приложения с возможностью выделения рабочих ядер процесса
Добрый день! подскажите можно ли реальзовать следующую задачу... Необходим запуск внешней программы с возможностью выделения рабочих...

6
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
27.11.2014, 11:23
Лучший ответ Сообщение было отмечено Zuzik как решение

Решение

Это все к celery
1
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
27.11.2014, 11:41
Лучший ответ Сообщение было отмечено Zuzik как решение

Решение

Цитата Сообщение от Zuzik Посмотреть сообщение
3) Пользователь в это время видит красивую ( или неочень красивую ) картинку, мол программа работает, ждите.
Я делал это с использованием JQuery ajax. Пользователь давит на кнопку, js-том показываю картинку, и вызываю обращение к сервису через метод load, который загружает потом HTML в нужный мне элемент на странице. Грубо, выглядит примерно так:
JavaScript
1
$('#user_details').html(ajax_load).load(query_url + "?user=" + $("#user").val());
ajax_load - это код, что отображается, пока обрабатывается запрос. query_url - это адрес, откуда данные запрашиваю.
1
 Аватар для Zuzik
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
27.11.2014, 12:03  [ТС]
Спасибо за оперативные ответы. Celery - обязательно ознакомлюсь, но в данном случае наверное все же буду делать через ajax, потому что у меня время ожидания не слишком большое будет, да celery как я посмотрел вещь не самая маленькая, конкретно в моем случае это будет стрельба из пушки по воробьям.
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
27.11.2014, 13:11
Это все к celery
Цитата Сообщение от Zuzik Посмотреть сообщение
на их основе запускается программа в операционной системе
Если программа будет долго работать, то у тебя запрос по timeout отвалится и пользователь увидит ошибку. Тебе из view нужно её асинхронно вызывать, по этому я предложил celery.

Добавлено через 1 минуту
Цитата Сообщение от Zuzik Посмотреть сообщение
но в данном случае наверное все же буду делать через ajax
ajax это просто асинхронный вызов к серверу, то есть он не блокирует браузер, а тебе надо разобираться как асинхронно запустить код из view.
0
 Аватар для Zuzik
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
27.11.2014, 17:11  [ТС]
tsar925, понял я. Просто надеюсь что программа будет работать не слишком долго, и хватит ajax. Но чем больше думаю, то понимаю что все таки его не хватит. Скорее всего использоваться будет celery.
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
27.11.2014, 19:01
Zuzik, ну как вариант можно использовать или потоки или процессы, если в celery впираться не хочешь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.11.2014, 19:01
Помогаю со студенческими работами здесь

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

Получение расположения процесса и запуск файла из директории процесса
Здравствуйте . Нужен готовый код для c# . Необходимо получит расположение процесса steam.exe , далее сохранить его в виде переменной...

Запуск процесса процесса, приложения на стороне клиента
Доброго времени суток господа программисты, помогите новичку решить вопрос, Есть Web приложение связанное с базой SQL, в базе имеются...

Запуск нового процесса в контейнере существующего процесса
Здравствуйте. Недавно задался целью запустить игру(minecraft), которая уже имеется на компьютере, с помощью кода на C#. Реализовал это с...

Прогресс внешнего процесса
Доброго времени. В общем: Имеется программа foobar2000 (плеер и конвертер). Так вот, чтобы переконвертировать музыку в нее нужно ручками...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru