web-csv-toolbox
    Preparing search index...

    Class WorkerSession

    WorkerSession manages the lifecycle of a single worker instance.

    Hybrid approach:

    • If workerPool is provided: Use pool's worker (reusable, manual pool cleanup)
    • If workerPool is NOT provided: Create disposable worker (auto-cleanup on dispose)

    Use using syntax for automatic cleanup:

    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
    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

    Implements

    • Disposable
    Index

    Methods

    • Dispose the session.

      • If using a pool: Releases the worker back to the pool (behavior depends on pool type)
      • If disposable: Terminates the worker

      Returns void