症状
事务处理类型或者自定义类型的单据在Scheduled或者Map/Reduce类型的脚本背景下被重复创建,重复创建的时间可能非常接近,在同1分钟或几分钟以内。
分析过程
查看是否Scheduled和MapReduce类型脚本存在ondemand类型的唤起,这种情况可能是有该脚本自身以ondemand类型唤起,也可能是来自suitelet或者userevent类型的脚本唤起。
ondemand的唤起在部署资源充足的情况下可能在很短时间通过task.submit()被唤起多次,每次唤起通过search获得相同的数据,用相同的逻辑处理,因此重复创建记录可能就发生在同一分钟。
解决办法
最有效的办法是限制ondemand运行,只留一个not scheduled的脚本部署,确保只有一个实例在运行。如果同时也有定时运行的实例,务必移动到上班时间之外,避免ondemand触发和定时触发同时取数。
Comments