MCPcopy
hub / github.com/vercel/next.js / Worker

Class Worker

packages/next/src/lib/worker.ts:32–314  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

30}
31
32export class Worker {
33 private _worker: JestWorker | undefined
34
35 private _onActivity: (() => void) | undefined
36 private _onActivityAbort: (() => void) | undefined
37
38 constructor(
39 workerPath: string,
40 options: Omit<FarmOptions, 'forkOptions'> & {
41 forkOptions?:
42 | (Omit<NonNullable<FarmOptions['forkOptions']>, 'env'> & {
43 env?: Partial<NodeJS.ProcessEnv> | undefined
44 })
45 | undefined
46 /**
47 * `-1` if not inspectable
48 */
49 debuggerPortOffset: number
50 enableSourceMaps?: boolean
51 /**
52 * True if `--max-old-space-size` should not be forwarded to the worker.
53 */
54 isolatedMemory: boolean
55 timeout?: number
56 onActivity?: () => void
57 onActivityAbort?: () => void
58 onRestart?: (method: string, args: any[], attempts: number) => void
59 logger?: Pick<typeof console, 'error' | 'info' | 'warn'>
60 exposedMethods: ReadonlyArray<string>
61 enableWorkerThreads?: boolean
62 }
63 ) {
64 let {
65 enableSourceMaps,
66 timeout,
67 onRestart,
68 logger = console,
69 debuggerPortOffset,
70 isolatedMemory,
71 onActivity,
72 onActivityAbort,
73 ...farmOptions
74 } = options
75
76 this._onActivity = onActivity
77 this._onActivityAbort = onActivityAbort
78
79 let restartPromise: Promise<typeof RESTARTED>
80 let resolveRestartPromise: (arg: typeof RESTARTED) => void
81 let activeTasks = 0
82
83 this._worker = undefined
84
85 // ensure we end workers if they weren't before exit
86 process.on('exit', () => {
87 this.close()
88 })
89

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected