WorkerSession manages the lifecycle of a single worker instance.
Hybrid approach:
Use using syntax for automatic cleanup:
using
using session = await WorkerSession.create();const records = await sendWorkerMessage(session, { ... });// Worker is automatically terminated when leaving scope (if disposable) Copy
using session = await WorkerSession.create();const records = await sendWorkerMessage(session, { ... });// Worker is automatically terminated when leaving scope (if disposable)
using session = await WorkerSession.create();const records = await sendWorkerMessage(session.getWorker(), { id: session.getNextRequestId(), type: "parseString", data: csv, options: serializeOptions(options),});// Worker automatically terminated Copy
using session = await WorkerSession.create();const records = await sendWorkerMessage(session.getWorker(), { id: session.getNextRequestId(), type: "parseString", data: csv, options: serializeOptions(options),});// Worker automatically terminated
using pool = new WorkerPool({ maxWorkers: 3 });using session = await WorkerSession.create({ workerPool: pool });const records1 = await sendWorkerMessage(session.getWorker(), { ... });const records2 = await sendWorkerMessage(session.getWorker(), { ... });// Worker returned to pool, pool cleanup happens when pool disposes Copy
using pool = new WorkerPool({ maxWorkers: 3 });using session = await WorkerSession.create({ workerPool: pool });const records1 = await sendWorkerMessage(session.getWorker(), { ... });const records2 = await sendWorkerMessage(session.getWorker(), { ... });// Worker returned to pool, pool cleanup happens when pool disposes
Dispose the session.
Get the next request ID for this session.
Get the worker instance.
Static
Create a new WorkerSession.
Optional
Session options
Promise that resolves to a WorkerSession instance
WorkerSession manages the lifecycle of a single worker instance.
Hybrid approach:
Use
usingsyntax for automatic cleanup:Example: Disposable worker (one-time use)
Example: With WorkerPool (reusable)