2014-02-11 2 views
0

Я вызываю пакет (webservice) из другого сценария на стороне сервера в NetSuite, используя метод nlapiRequestURL. Этот пакет-пакет занимает более одной минуты, чтобы выполнить его, что вызывает таймаут на nlapiRequestURL.Увеличение таймаута nlapiRequestURL в NetSuite SuiteScript

Я не смог найти документально подтвержденный способ увеличения таймаута nlapiRequestURL. Мне было интересно, если это возможно?

ответ

0

Я считаю, что нет возможности увеличить это, так как это ограничение ограничено.

Вы пытались использовать nlapiSetRedirectURL вместо nlapiRequestURL?

+0

Во время таймаута я уже в приложении SSP, поэтому использовать nlapiSetRedirectURL невозможно. – azeem

0

Я бы сначала рассмотрел дизайн вашего пакета, чтобы обеспечить эффективную работу с API. Загрузка записей, в частности, требует большого количества ресурсов и занимает очень много времени. Во многих случаях предпочтительнее извлекать информацию с помощью nlapiLookupField или, если у вас много записей, использовать nlapiSearchRecord для извлечения данных по многим записям за один раз.

Однако, если вы считаете, что процесс был асинхронным с первоначальным вызовом, который запрашивает сбор данных, и вторым вызовом, который извлекает данные из переменной сеанса или кэша файлов? Второй вызов можно зацикливать, чтобы периодически проверять, чтобы искать данные. Каждый вызов пакета набора выполняется независимо, поэтому второй обратный вызов не останавливает первый запрос. Вы можете параметризовать второй запрос, чтобы просто проверить кеш переменной сеанса. Если он пуст, верните сообщение не готовое. Если данные доступны, уничтожьте кеш и верните данные.

Альтернативным подходом было бы то, что наборлет A вызывает набор B и запрашивает подготовку данных. По завершении, в наборе B помещаются данные в набор А, который обрабатывает его. Разумеется, вы также можете иметь набор B, чтобы использовать код для пакета А в качестве библиотеки для обработки данных без обратного вызова. Однако это может быть неприменимо ко всем вариантам использования.

Не могли бы вы рассказать мне больше о прецеденте?

+0

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

Смежные вопросы