RE: FAILED_TO_SUBMIT_JOB_REQUEST_1″,”message”:”Failed to submit job request: INQUEUE.
I have scheduled script to generate a pdf. If diffrent users or diffrent roles runs a scheduled script at a same time it gives error as FAILED_TO_SUBMIT_JOB_REQUEST_1″,”message”:”Failed to submit job request: INQUEUE.
Please help!
Below is suitelet script which creates scheduled script tsak.
/**
* @NApiVersion 2.1
* @NScriptType Suitelet
*/
define([“N/record”,”N/search”,”N/ui/serverWidget”,’N/runtime’,’N/redirect’,’N/task’,’N/file’],
function(record,search,serverWidget,runtime,redirect,task,file){
function onRequest(scriptContext)
{
if (scriptContext.request.method === “GET”) {
var request = scriptContext.request;
var response = scriptContext.response;
requestparam=scriptContext.request.parameters;
var waveNumber = requestparam.custscript_i_standard_wave_name;
log.debug(“waveNumber”, waveNumber);
var waveId = requestparam.custscript_i_standard_wave_id;
log.debug(“waveId”, waveId);
var params = scriptContext.request.parameters;
log.debug(“params”,params);
var shTaskId = params.custparam_task_id;
log.debug(“shTaskId”,shTaskId);
var postWaveId = params.custpage_wave_id;
log.debug(“postWaveId”,postWaveId);
var form = serverWidget.createForm({
title: ‘Traveler Pdf Progress’
});
var messagefield = form.addField({
id: ‘_custpage_message’,
type: serverWidget.FieldType.INLINEHTML,
label: ‘Message’
}).updateDisplayType({
displayType: serverWidget.FieldDisplayType.NORMAL
});
messagefield.defaultValue='<div style=”font-size: 14px;”>Traveler Pdf is being generated click on Refresh button…</div>’
form.addSubmitButton({
id: ‘custpage_print_traveller’,
label: ‘Refresh’,
// functionName: ‘Callforredirect’
});
var waveIdField = form.addField({
id: ‘custpage_waveid’,
type: serverWidget.FieldType.TEXT,
label: ‘Wave Id’
}).updateDisplayType({
displayType: serverWidget.FieldDisplayType.HIDDEN
});
waveIdField.defaultValue = postWaveId;
var waveField = form.addField({
id: ‘custpage_wave’,
type: serverWidget.FieldType.TEXT,
label: ‘Wave Name’
}).updateDisplayType({
displayType: serverWidget.FieldDisplayType.HIDDEN
});
waveField.defaultValue = waveNumber;
var taskField = form.addField({
id: ‘custpage_task’,
type: serverWidget.FieldType.TEXT,
label: ‘Task’
}).updateDisplayType({
displayType: serverWidget.FieldDisplayType.HIDDEN
});
taskField.defaultValue = shTaskId;
if(!shTaskId)
{
try{
//create scheduled sript
var pdfTask = task.create({
taskType: task.TaskType.SCHEDULED_SCRIPT,
scriptId: ‘customscript_sch_std_wave_traveler’,
params: {
‘custscript_i_standard_wave_id’:waveId,
‘custscript_i_standard_wave_name’: waveNumber,
}
});
}
catch(e2)
{
log.debug(“error 2”,e2);
}
var taskId=pdfTask.submit();
log.debug(“taskId”,taskId);
taskField.defaultValue = taskId;
waveIdField.defaultValue = waveId;
}
else{
var res = task.checkStatus(shTaskId);
log.debug(“res”,res);
var status=res.status;
log.debug(“status”,status);
var statusField = form.addField({
id: ‘custpage_status’,
type: serverWidget.FieldType.INLINEHTML,
label: ‘Status’
}).updateDisplayType({
displayType: serverWidget.FieldDisplayType.NORMAL
});
statusField.updateLayoutType({
layoutType: serverWidget.FieldLayoutType.MIDROW
});
statusField.defaultValue='<div style=”font-size: 14px;”>’+status+’…’+'</div>’
// var statusField = form.addField({
// id: ‘custpage_status’,
// type: serverWidget.FieldType.TEXT,
// label: ‘Status’
// }).updateDisplayType({
// displayType: serverWidget.FieldDisplayType.NORMAL
// });
// statusField.defaultValue = status;
//File Id Search
if(postWaveId && status==”COMPLETE”)
{
try{
log.debug(“inner loop”);
var cabinetid=’Traveler Pdf/Wave_Combined_SO’+postWaveId+’.pdf’;
log.debug(“cabinetid–>”,cabinetid);
var fileObjectnew = file.load({
id: cabinetid// use path or internal ID
});
log.debug(“fileObjectnew”,fileObjectnew);
fileObjectnew.description = ‘my test file’;
}
catch(e)
{
log.debug(“error”,e);
}
if(fileObjectnew)
{
var fileIdnew = fileObjectnew.save();
log.debug(“fileIdnew”,fileIdnew);
var getUrl=fileObjectnew.url;
log.debug(“getUrl1”,getUrl);
}
else
{
throw ‘Error: Suitescript usage limit exceeded’;
}
}
}
log.debug(“status2”,status);
if(status==”COMPLETE”)
{
if(fileObjectnew)
{
var getUrl=fileObjectnew.url;
log.debug(“getUrl2”,getUrl);
response.write(
`<html><head><script>window.open(“${getUrl}”)</script></head></html>`
);
//window.close to avoid extra suitelet form on the screen.
scriptContext.response.write(
`<html><head><script>window.close()</script></head></html>`
);
}
}
else{
response.writePage(form);
}
// response.writePage(form);
}
else if(scriptContext.request.method === “POST”) {
log.debug(“suitelet is posting”)
var taskk=scriptContext.request.parameters.custpage_task;
log.debug(“taskk”,taskk);
var waveid2=scriptContext.request.parameters.custpage_waveid;
log.debug(“waveid2”,waveid2);
redirect.toSuitelet({
scriptId: ‘customscript_sut_std_wave_prog2’,
deploymentId: ‘customdeploy_sut_std_wave_prog2’,
parameters: {
‘custpage_wave_id’:waveid2,
‘custparam_wave’:scriptContext.request.parameters.custpage_wave,
‘custparam_task_id’:scriptContext.request.parameters.custpage_task
}
});
}
}
return{
onRequest:onRequest
}
});
I found a solution on this. We have to create multiple deployments of a scheduled script. Dont give a deployment id parameter in a task.create API.