Выполнить длинную хранимую процедуру через веб-страницу - PullRequest
1 голос
/ 29 июня 2011

У меня есть это веб-приложение (использующее Struts 1.x), работающее на Weblogic 10.3.3, которое считывает файлы и вводит данные в базу данных (Oracle 11g DB).А также через это веб-приложение, я могу запустить хранимую процедуру в базе данных.Проблема заключается в том, что после нескольких изменений хранимой процедуры требуется довольно много времени, чтобы завершить выполнение (25-40 минут).

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

Есть ли возможность для веб-страницы запустить хранимую процедуру, которая занимает много временизакончить (60 минут)?Нужно ли вносить изменения в код приложения или настройки Weblogic?

Спасибо за ответы.

1 Ответ

1 голос
/ 29 июня 2011

Вы никогда не должны когда-либо оставлять пользователя в ожидании.Когда я в последний раз имел дело с этим:

  1. Клиент (пользователь / браузер) сообщает серверу "Процедура запуска"
  2. Сервер порождает поток, который запускает процедуру.
  3. Сервер сообщаетКлиент (пользователь / браузер) «Я закончил сейчас. Вернитесь позже. Mabee I отправляет электронное письмо yoo»
  4. Сервер завершает процедуру.
  5. Сервер отправляет электронное письмо пользователю, что процедура завершена.* Вторичный поток завершается.
  6. Сервер ест менестрели сэра Робина, и это очень радует.
...