Need to add delay in script include
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
Hi @Ankur Bawiskar ,
I want to add delay in the script include.
I tried the script mentioned in this https://www.servicenow.com/community/service-operations-workspace/add-sleep-or-delay-in-your-script-... in my script but it didn't work. I want the workflow to trigger after few seconds. Can you please let me know what am i doing wrong here?
createTransferOrderLines: function(transferOrderGr, recordProducer) {
var assets = recordProducer.assets + '';
var assetsArr = assets.split(",");
var assetsArrLength = assetsArr.length;
if (assetsArrLength === 0) {
return false;
} else {
for (var i = 0; i < assetsArrLength; i++) {
//create order lines
var assetGR = new GlideRecord('alm_asset');
if (assetGR.get(assetsArr[i])) {
var transferAsset = new GlideRecord('alm_transfer_order_line');
transferAsset.initialize();
transferAsset.setValue('transfer_order', transferOrderGr);
transferAsset.setValue('asset', assetsArr[i]);
transferAsset.setValue('quantity_requested', '1');
transferAsset.setValue('model', assetGR.model);
transferAsset.setValue('stage', 'draft');
transferAsset.setWorkflow(false);
var transferOrderLine = transferAsset.insert();
// transferAsset.setWorkflow(true);
if (transferOrderLine) {
gs.info('Before delay->' + new GlideDateTime().getValue());
var now = new GlideDateTime();
while (GlideDateTime.subtract(now, new GlideDateTime()) < "1970-01-01 00:00:10") {
// loop for 10 seconds
}
gs.info('After delay->' + new GlideDateTime().getValue());
var wflw = new Workflow();
var wfId = wflw.getWorkflowFromName('Transfer Order Line');
if (wfId) {
wflw.startFlow(wfId, transferAsset, 'insert');
}
}
}
}
}
},
1 REPLY 1
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 hours ago
update as this
createTransferOrderLines: function(transferOrderGr, recordProducer) {
var assets = recordProducer.assets + '';
var assetsArr = assets.split(",");
var assetsArrLength = assetsArr.length;
if (assetsArrLength === 0) {
return false;
} else {
for (var i = 0; i < assetsArrLength; i++) {
//create order lines
var assetGR = new GlideRecord('alm_asset');
if (assetGR.get(assetsArr[i])) {
var transferAsset = new GlideRecord('alm_transfer_order_line');
transferAsset.initialize();
transferAsset.setValue('transfer_order', transferOrderGr);
transferAsset.setValue('asset', assetsArr[i]);
transferAsset.setValue('quantity_requested', '1');
transferAsset.setValue('model', assetGR.model);
transferAsset.setValue('stage', 'draft');
transferAsset.setWorkflow(false);
var transferOrderLine = transferAsset.insert();
// transferAsset.setWorkflow(true);
if (transferOrderLine) {
gs.info('Before delay->' + new GlideDateTime().getValue());
var secondsValue = 10;
var seconds = parseInt(secondsValue, 10) * 1000;
var start = parseInt(new Date().getTime()) + seconds;
while (start > parseInt(new Date().getTime())) {
// do nothing
}
gs.info('After delay->' + new GlideDateTime().getValue());
var wflw = new Workflow();
var wfId = wflw.getWorkflowFromName('Transfer Order Line');
if (wfId) {
wflw.startFlow(wfId, transferAsset, 'insert');
}
}
}
}
}
},
💡 If my response helped, please mark it as correct ✅ and close the thread 🔒— this helps future readers find the solution faster! 🙏
Regards,
Ankur
✨ Certified Technical Architect || ✨ 10x ServiceNow MVP || ✨ ServiceNow Community Leader
Ankur
✨ Certified Technical Architect || ✨ 10x ServiceNow MVP || ✨ ServiceNow Community Leader
