我有一个计划好的脚本,需要在1000个以上的记录中设置一个值。脚本最初会按您预期的那样超时,因此我需要重新计划脚本以获取下一个搜索范围并进行处理。我正在尝试使用在重新计划时增加的脚本参数。但是,我似乎陷入了相同记录的无限循环中。下面是该代码的简化版本。如何更新脚本的startIndex
var startIndex
function execute(scriptContext) {
startIndex = script.getParameter({name: "custscript_startindex"});
if(startIndex == null){
startIndex = 0;
}
//building the search here
//Run The Search -- Limited to 10 for testing
var arrResults = searchNext.run().getRange(startIndex, startIndex + 10);
//Process the results.
if(needMore())
{
startIndex = startIndex + 10;
var taskId = rescheduleCurrentScript();
log.audit("Rescheduling status: " + task.checkStatus(taskId));
}
}
function rescheduleCurrentScript() {
var scheduledScriptTask = task.create({
taskType: task.TaskType.SCHEDULED_SCRIPT
});
scheduledScriptTask.scriptId = runtime.getCurrentScript().id;
scheduledScriptTask.deploymentId = runtime.getCurrentScript().deploymentId;
scheduledScriptTask.params = {'custscript_startindex': startIndex };
return scheduledScriptTask.submit();
}