在NetSuite中,只有一个预定脚本实例可以在给定时刻排队。 这意味着,尝试安排已经在队列中或正在进行中的脚本将导致" INQUEUE"或" INPROGRESS"状态和脚本将被忽略。
是否有任何工作? 这个问题的任何解决方案?
我需要能够多次安排相同的脚本。 调度使用nlapiScheduleScript完成,并在提交后的用户事件中自动触发。
感谢。
答案 0 :(得分:2)
您可以创建同一队列的多个部署以并行运行它们。
答案 1 :(得分:1)
相同的脚本接收多个执行请求
有时您有并发(同时)请求来启动长时间运行的任务。
在这种情况下,您希望能够安排下一个可用的 对每个请求进行部署。
对于示例,如果您认为在高峰时加载了您 可能会在给定的时间范围内收到五个请求,然后您至少需要那么多可用的脚本部署,以确保每个请求都有自己的专用脚本部署。 请注意,如果其中一个部署已经在进行中或正在队列中,最佳做法是在一段时间内(例如,超过五分钟的时间段 - 获取您期望的请求数量 - 这超过平均值脚本执行时间)然后乘以2以获得确保您可以处理负载所需的脚本部署数量。在这种情况下,您可能希望为同一个脚本创建10个部署。
如果不清楚,请告诉我。
var status=nlapiScheduleScript(scriptId,deploymentId,params)
所以在这里你可以在检查状态为inQueue之后使用不同的deploymentId。
答案 2 :(得分:0)
NetSuite确实为客户提供了支付更多预定脚本队列的选项。然后,您只需为每个可用队列创建单独的部署。
如果这不是客户端的选项,则可以构建表示您自己的预定脚本队列的自定义记录。您实际上不是只调用nlapiScheduleScript
,而是创建脚本的自定义记录条目,以便使用任何脚本参数值进行调度。
答案 3 :(得分:0)
要扩展Saqib的答案,您可以创建脚本的多个部署,然后调用nlapiScheduleScript,为部署ID参数提供空值。这将立即执行免费且可用的脚本部署并将其放入队列中。