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
}
});
Maira S Beginner Asked on November 17, 2023 in SuiteScript.
Add Comment
1 Answers

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.

Beginner Answered on November 17, 2023.
Add Comment

Your Answer

By posting your answer, you agree to the privacy policy and terms of service.