如何使用SuiteScript 2.0版本在Netsuite中重新安排计划脚本

Dee*_*gan 1 javascript scheduled-tasks netsuite suitescript

我想重新安排计划脚本,当计划脚本使用到达州长限制之前.Netsuite中的计划脚本有10,000个单位.在SuiteScript 1.0版本中,重新安排是通过"nlapiScheduleScript()api"实现的,但在SuiteScript 2.0版本中,如何重新安排脚本.

帮助我实现这一目标,提前谢谢.

eri*_*ugh 13

N/taskN/runtime模块有你在找什么.您将使用N/task重新安排,并N/runtime获取当前脚本信息.

如果没有您的确切代码,我无法给出一个非常具体的示例,但您的预定脚本最终会看起来像:

/**
 * @NApiVersion 2.x
 * @NScriptType ScheduledScript
 */
define(['N/task', 'N/runtime'], function(task, runtime) {

    /**
     * Reschedules the current script and returns the ID of the reschedule task
     */
    function rescheduleCurrentScript() {
        var scheduledScriptTask = task.create({
            taskType: task.TaskType.SCHEDULED_SCRIPT
        });
        scheduledScriptTask.scriptId = runtime.getCurrentScript().id;
        scheduledScriptTask.deploymentId = runtime.getCurrentScript().deploymentId;
        return scheduledScriptTask.submit();
    }

    function execute(context) {

        // Do stuff...

        while(...) {
            // Do processing in loop

            // Check remaining usage and reschedule if necessary
            if (runtime.getCurrentScript().getRemainingUsage() < 100) {
                var taskId = rescheduleCurrentScript();
                log.audit("Rescheduling status: " + task.checkStatus(taskId));
                return;
            }
        }
    }

    return {
        execute: execute
    };
});
Run Code Online (Sandbox Code Playgroud)

  • 每当您重新安排预定脚本时,您需要管理从中断处停止的位置.这通常通过按内部ID对结果进行排序,存储上次处理的ID以及过滤搜索内部ID(大于上次处理的ID)来完成. (2认同)