Is there a straightforward way to modify the below code to execute on multiple saved searches and files simultaneously? I have all the file and search id's. but rather than creating 50 different scripts for each one can I just execute on a block of IDs by altering the below?
Thank you in advance.
All the Oracle documentation only seems to specify how to run these tasks on 1 item.
I know that a map/reduce script is a good path to go down for handling larger amounts of data, is that the way with this or can the below just be tweaked slightly?
/**
* @NApiVersion 2.x
* @NScriptType ScheduledScript
* @NModuleScope SameAccount
*/
define(['N/task'],
/**
* @param {record} record
* @param {search} search
*/
function(task) {
var FILE_ID = 433961;
var SEARCH_ID = 1610;
function execute(scriptContext) {
var searchTask = task.create({
taskType: task.TaskType.SEARCH
});
searchTask.savedSearchId = SEARCH_ID;
searchTask.fileId = FILE_ID;
var searchTaskId = searchTask.submit();
}
return {
execute: execute
};
});
/**
* @NApiVersion 2.x
* @NScriptType ScheduledScript
* @NModuleScope SameAccount
*/
define(['N/task'], function (task) {
const todos = [
{
FILE_ID: 433961,
SEARCH_ID: 1610
},
{
FILE_ID: '...',
SEARCH_ID: '...'
},
// ...
]
function execute(scriptContext) {
todos.forEach(function(todo) {
var searchTask = task.create({
taskType: task.TaskType.SEARCH
});
searchTask.savedSearchId = todo.SEARCH_ID;
searchTask.fileId = todo.FILE_ID;
var searchTaskId = searchTask.submit();
})
}
return {
execute: execute
};
});