2014-02-11 53 views
0

我打電話使用nlapiRequestURL方法NetSuite的另一臺服務器端腳本suitelet(Web服務)。這個suitelet需要超過一分鐘才能執行,導致nlapiRequestURL超時。增加nlapiRequestURL超時在NetSuite的SuiteScript

我找不到增加nlapiRequestURL超時的任何記錄方式。我想知道是否有可能嗎?

回答

0

我相信沒有辦法增加這個,因爲這是本地限制。

您是否嘗試過使用nlapiSetRedirectURL代替nlapiRequestURL?

+0

在超時時間,我已經在一個SSP應用程序,所以它不可能使用nlapiSetRedirectURL。 – azeem

0

我會先看看你的suitelet的設計,以確保您高效地使用API​​。加載記錄尤其佔用大量資源,非常耗時。在許多情況下,最好使用nlapiLookupField檢索信息,或者如果有很多記錄,則可以使用nlapiSearchRecord一次檢索多條記錄上的數據。

不過,他這樣說,你有沒有考慮製作過程異步請求的數據進行組裝始發呼叫,並從一個會話變量或文件緩存中檢索數據的第二個電話?第二次呼叫可以循環查看數據。每個對suitelet的調用都會獨立執行,因此第二個回調將不會停止第一個請求。您可以參數化第二個請求來檢查會話變量緩存。如果它是空白的,則返回未準備好的消息。如果數據可用,請擦除緩存並返回數據。

另一種方法,將是suitelet A調用suitelet B和該準備的數據的請求。完成後,suitelet B將數據發送給處理它的suitelet A.當然,您同樣可以讓suitelet B使用suitelet A的代碼作爲庫來處理沒有回調的數據。但是,這可能不適用於所有用例。

你能告訴我更多關於用例嗎?

+0

在我們的案例中,我們調用了suitelet來計算報價中所有項目的價格。在這個過程中需要評估許多業務規則。如果報價中有超過400個項目,則業務規則執行和價格計算會導致進程超時。 – azeem