Мы используем SOLR для поиска автозаполнения в нашем веб-приложении. У нас есть ночной процесс, который добавляет кучу данных в нашу базу данных, и как только этот процесс заканчивается, нам необходимо импортировать эти данные из базы данных в наш сервер SOLR.Автоматизация пошагового процесса из приложения MVC
В настоящее время этот процесс импорта выполняется вручную в следующей последовательности:
- Проверьте ondeck SOLR сервер простаивает
- Говори ondeck сервер, чтобы сделать полный импорт данных, состояние сервера «занято»
- Опрос сервера ondeck так часто, и когда он заканчивается, статус возвращается в режим ожидания.
- Смените сервер ondeck (с новой информацией) на живой сервер SOLR.
- Заполните храповую процедуру в нашей базе данных.
У нас есть страница административных инструментов в нашем веб-приложении. То, что я хочу сделать, это поместить на эту страницу кнопку, которая запускает этот процесс (через вызов AJAX в нашем веб-приложении) и сообщает пользователю, что процесс был запущен. Весь процесс занимает около часа, чтобы сделать это, я не могу запустить вызов AJAX в течение часа, а затем вернуться на страницу, чтобы пользователь сказал, что процесс завершен.
Мне нужно это сделать асинхронно. Процесс должен быть запущен, как только он стартует, он информирует пользователя о том, что он начат, а затем приложение продолжает ждать на каждом этапе процесса, а затем вызывает следующий шаг, пока он не завершится. Как выглядит код в MVC 4, чтобы это произошло? Я смотрел учебники по MSDN по async
и await
, но я немного смущен.