IE。我实现了schedule脚本,它包含要执行的语句块,现在我需要定义执行过程需要在1:30分钟内完成。 1:30后执行应该停止并给出消息。
答案 0 :(得分:3)
Netsuite目前没有针对服务器端脚本的超时方法。您可以做的是设置一个变量来保存结束时间并不时检查它。像这样:
var maxExecutionTime = 90; //In Seconds
var endTime = new Date();
endTime.setSeconds(endTime.getSeconds() + maxExecutionTime);
if(new Date() > endTime){
//exit
}
答案 1 :(得分:-1)
最后我找到了一个临时解决方案。
我为脚本创建了一个脚本参数,并在脚本中获取最大执行秒数。
var context = nlapiGetContext();
var maxduration =Number(context.getSetting('SCRIPT', 'custscript_duration') != null ? context.getSetting('SCRIPT', 'custscript_duration') : 0);
var endTime = new Date();
endTime.setSeconds(endTime.getSeconds() + maxduration);
if(new Date() > endTime){
nlapiSendEmail(-5, -5, sub, msg, null, null)
//Break [Exit]
}else{
//Block of statement
}
用户可以随时从外部更改执行持续时间。