In NetSuite, you can offload long-running processes using the N/task module, which allows you to create and manage asynchronous tasks. By utilizing N/task, you can delegate resource-intensive operations to run in the background, freeing up the main thread and improving the overall performance of your SuiteScript code.
Here’s a general outline of how you can offload long-running processes using N/task in NetSuite:
- Import the N/task module in your SuiteScript file:

- Define a function that encapsulates your long-running process. This function will be executed asynchronously:

- Create a new task using the create method of the task object:
The scriptId and deploymentId should correspond to the script and deployment that contains your performLongRunningProcess function.
- Submit the task using the submit method:
This will return a task ID that you can use to monitor or manage the task.
- Optionally, you can use the Task object to monitor the task status, check for completion, or retrieve the task’s results:
The taskStatus will indicate the current status of the task, and taskOutput will contain any output generated by your long-running process.
By using the N/task module and offloading long-running processes, you can improve the performance and responsiveness of your NetSuite scripts. Remember to handle any potential errors or exceptions that may occur during the task execution.