Автор Тема: Убрать ограничения по таймауту  (Прочитано 12290 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Greed

  • Гость
Убрать ограничения по таймауту
« : Февраль 03, 2011, 01:33:13 pm »
Добрый день. Иногда с талкиваешься с тем, что z-программы, написанные для любимых пользователей, сильно долго работают и вроде как уже достаточно оптимизированы, но времени для отработки не хватает и вылетают по таймауту. Можно ли как-то в коде сбрасывать таймаут, что б прога работала пока не закончит, либо пока не надоест и не сбросишь вручную...?

Sam

  • Гость
Re: Убрать ограничения по таймауту
« Ответ #1 : Февраль 03, 2011, 03:04:05 pm »
Что значит слетают по таймауту? Если с дампом TIME_OUT, то параметр отвечающий за это время настраивается в профиле сервера приложений и чтобы его увеличить, вам надо обратиться к своему базису.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 768
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Убрать ограничения по таймауту
« Ответ #2 : Февраль 03, 2011, 03:32:10 pm »
You are not allowed to view links. Register or Login
вам надо обратиться к своему базису.
Но они могут и отказать, причина в том что количество диалоговых процессов в системе ограничено, если их забить вашими программами то по факту вы подвесите всю систему. Как обходной метод если у вас в цикле отрабатывают несколько разных селектов, поставьте между ними вызов COMMIT WORK, это сбрасывает счетчик времени процесса.

Greed

  • Гость
Re: Убрать ограничения по таймауту
« Ответ #3 : Февраль 03, 2011, 03:36:25 pm »
спасибо. Интересно, что под парой пользователями программа в дамп не падает и судя по тому, что она уже часа 2 работает как я ее запустил, то и подо мной тоже)

Оффлайн Semen F.

  • Newbie
  • *
  • Сообщений: 4
  • Репутация: +0/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Убрать ограничения по таймауту
« Ответ #4 : Февраль 03, 2011, 04:02:24 pm »
You are not allowed to view links. Register or Login
спасибо. Интересно, что под парой пользователями программа в дамп не падает и судя по тому, что она уже часа 2 работает как я ее запустил, то и подо мной тоже)
Возможно эти пользователи работают на другом сервере приложений, где время таймаута больше.
В общем вам надо обсудить этот вопрос с базисниками, чтобы найти оптимальное решение.

Greed

  • Гость
Re: Убрать ограничения по таймауту
« Ответ #5 : Февраль 03, 2011, 08:16:06 pm »
не, они на том же работают. Базисники разводят руками:"копай свою прогу..."

Оффлайн Semen F.

  • Newbie
  • *
  • Сообщений: 4
  • Репутация: +0/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Убрать ограничения по таймауту
« Ответ #6 : Февраль 03, 2011, 08:48:52 pm »
Тут вопрос комплексный. В зависимости от сложности запроса и размеров таблиц время выполнения может быть разным и если ваша программа работает как должна и оптимизировать её дальше не представляется возможным, то возможно стоит обсудить увеличение времени работы диалогов с базисом.
Кстати мы так и не узнали с какой ошибкой падает ваша программа...

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 768
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Убрать ограничения по таймауту
« Ответ #7 : Февраль 03, 2011, 11:36:52 pm »
You are not allowed to view links. Register or Login
Кстати мы так и не узнали с какой ошибкой падает ваша программа...
Кстати, да... если можно кусок начала дампа в студию... а то параметр времени выполнения на процесс оно глобальное и не может так быть чтобы у одних работало у других нет.

Greed

  • Гость
Re: Убрать ограничения по таймауту
« Ответ #8 : Февраль 04, 2011, 10:57:20 am »
у меня в дамп не падает, вот есть только то, что у пользователя...

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 768
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Убрать ограничения по таймауту
« Ответ #9 : Февраль 04, 2011, 12:03:47 pm »
You are not allowed to view links. Register or Login
у меня в дамп не падает, вот есть только то, что у пользователя...
Ну да времени не хватило... но тут еще надо смотреть с какими параметрами запускают, поэтому них падает у тебя нет.

Оффлайн Semen F.

  • Newbie
  • *
  • Сообщений: 4
  • Репутация: +0/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Убрать ограничения по таймауту
« Ответ #10 : Февраль 04, 2011, 12:07:00 pm »
Ну об этом дампе мы и подумали.
Это именно дамп по ограничению времени выполнения диалогового запроса. То что у вас не падает а у пользователя падает может быть обусловлено разными настройками на разных серверах приложений. Если конечно вы указали те же параметры запроса что и пользователь.
Если у вас в системе только 1 сервер, на котором все работают, то тут причина неясна.
Сам недавно стал сталкиваться с таким странным факто, что у меня на серверах приложений с небольшим лимитом времени выполнения процессы не падают. Почему, я пока не разобрался.
В любом случае вам придется решать вопрос с базисом и приходить к некому времени выполнения, которое устроит и вас и базис.

Greed

  • Гость
Re: Убрать ограничения по таймауту
« Ответ #11 : Март 01, 2011, 10:53:26 am »
коммит верк счетчик таки сбрасывает) В общем в исключительных случаях его применить можно.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 768
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Убрать ограничения по таймауту
« Ответ #12 : Март 01, 2011, 11:22:55 pm »
You are not allowed to view links. Register or Login
коммит верк счетчик таки сбрасывает) В общем в исключительных случаях его применить можно.
Сбрасываться то сбрасывается, но там еще кроме этого оно делает следующее:
  • Выполняет запуск всех подпрограмм, которые вызываются с использованием инструкций вида PERFORM <имя подпрограммы> ON COMMIT и всех функциональных модулей объявленных как CALL FUNCTION <имя модуля> IN UPDATE TASK.
  • Вызывает инициирование событий для службы Object Services. Поэтому если у вас есть фоновые процессы, запускающиеся по событию, то именно эта операция генерирует все заявленные в блоке обработки события.
  • Обрабатываются все SAP блокировки, установленные в текущей программе по значению формального параметра _SCOPE для соответствующих функций блокирования, происходит снятие таких блокировок.
  • Закрывается текущий LUW блок и все курсоры на уровне базы данных.
  • Вызывается событие TRANSACTION_FINISHED, что устанавливает для системного класса CL_SYSTEM_TRANSACTION_STATE  значения COMMIT_WORK.
так что если вам выше описанные действия не беспокоят.. то можете и через COMMIT WORK делать сброс счетчика времени выполнения транзакции.