Клиент пришел ко мне с просьбой иметь веб-приложение, которое выполняет большую обработку в бэкэнд (читает из файла, записывает в веб-службу). Мой вопрос заключается в том, что, поскольку этот «процесс» (когда пользователь нажимает «Go») может занять несколько часов, как я могу его сделать, чтобы обработка продолжалась после закрытия пользователем веб-страницы? Пожалуйста, дайте мне знать, если это не имеет никакого смысла, и я могу дать больше информации. Любая помощь будет принята с благодарностью, спасибо!Создание отдельного процесса из запроса веб-приложения
ответ
Для этого вам необходимо создать службу MS Windows.
Вы предоставляете для этой Службы какую-либо таблицу базы данных, клиент которой будет использовать ваши функциональные возможности вашего сайта.
Обратите внимание, что вы обычно не можете запускать службу Windows в среде общего хостинга. Для установки и управления веб-сервисом необходим полный доступ к веб-серверу. Если у вас нет такого доступа, вы можете запустить службу Windows на отдельном компьютере, к которому у вас есть доступ. В этом случае веб-сервер должен будет отправить запросы каким-либо образом другому компьютеру (например, через вызов веб-службы). В среде, где у вас тяжелый веб-трафик, может быть целесообразно разделить службу Windows на отдельный компьютер в любом случае. –
Лучшим возможным решением будет выполнение работы в службе Windows и использование вашего веб-приложения только для запуска обработки.
Возможно ли иметь 2 окна в одном решении? –
@ Исаак Левин - Да. В решении может быть много разных сервисов. Вы также можете установить несколько сервисов на одном компьютере. – Oded
@Oded SO Я бы сделал что-то вроде этого примера http://www.fredmastro.com/post/Call-your-Web-Service-from-your-Web-Application.aspx –
Это, в основном, требование «пакетной работы», и именно так я предлагаю вам приблизиться к нему.
Клиент будет использовать веб-страницу, а не , выполнить работу, а управлять списком пакетных заданий, выполняющих работу. Планирование их, запуск или остановка, просмотр их состояния и текущего вывода и т. д. (Да, так же, как они это делали в 1970-х годах, но без «// FOOBAR JOB (123456)» ... слава богу.
Пользователь переходит на веб-страницу и вводит запрос. А обратно -end на хосте (диспетчер пакетных заданий ...) теперь запускает задание, возможно, на одном компьютере, возможно, по несколько раз. Пользователь может, тем временем, выйти из веб-сайта и делать все, что ему нравится Затем он может вернуться в любое время, вернуться к тому, что может быть на веб-странице мониторинга работы, и посмотреть, как обстоят дела. Остановите работу, приостановите/возобновите, какие у вас есть.
лоты инструментов мониторинга рабочего места там уже для всех видов сред, как свободных, так и коммерческий. Итак, это не похоже на то, что вы должны построить все это; вам просто нужно указать , какой готовый пакет работает лучше всего для вас и для вашего клиента.
Можете ли вы привести мне пример того, как это сделать? Похоже, это может быть маршрут, который мне нужно взять. –
- 1. Создание отдельного процесса Excel
- 2. Запуск отдельного процесса
- 3. Создание запятой отдельного списка для JavaScript из моего запроса
- 4. Подсчитайте строки из отдельного запроса
- 5. Автоматизация экземпляра Visual Studio из отдельного процесса
- 6. Обнаружение отдельного процесса выхода из процесса Windows C#
- 7. Создание отдельного журнала для каждого процесса Пассажира в приложении Rails
- 8. C++ поток для отдельного процесса
- 9. Обновления нового со значениями из отдельного запроса
- 10. Создание запроса из другого запроса
- 11. Создание нового процесса из функции Postgres
- 12. Инициирование отдельного процесса изнутри единичного теста
- 13. Preferred архитектура для запуска отдельного процесса
- 14. Создание отдельного класса для слушателя
- 15. создание процесса
- 16. Выполнение отдельного процесса из Java-апплета с использованием внутреннего класса
- 17. Рабочий процесс Windows: запуск отдельного рабочего процесса из рабочего потока
- 18. Java Получение стандартного вывода и вывод ошибки из отдельного процесса
- 19. Обновление C# для выполнения рабочего процесса из отдельного класса
- 20. Создание объекта из запроса?
- 21. Создание нового «внутреннего» процесса?
- 22. Выполнение отдельного процесса или потока в Qt
- 23. Выполнение отдельного процесса в родительском процессе
- 24. Внедрение отдельного процесса в диаграмме действий
- 25. Django: Создание запроса из запроса GET
- 26. Создание запроса Mongo из запроса MySQL
- 27. Некоммерческое создание рабочего процесса
- 28. Запроса для выделения процесса из данных задач
- 29. Создание процесса из очереди в scalaz
- 30. Открытие отдельного окна JavaFX из отдельного класса
@DmitryBoyko [редактирование вопроса] (http://stackoverflow.com/spected-edits/206335) только для смелых определенных частей? В самом деле? – Basic