Commit | Line | Data |
---|---|---|
4c35177b | 1 | /** |
2 | * Kill behavior enumeration | |
3 | */ | |
4 | export const killBehaviorEnumeration = Object.freeze({ | |
5 | SOFT: 'SOFT', | |
6 | HARD: 'HARD' | |
7 | }) | |
8 | ||
729c563d S |
9 | /** |
10 | * Options for workers. | |
11 | */ | |
325f50bc S |
12 | export interface WorkerOptions { |
13 | /** | |
729c563d | 14 | * Maximum waiting time in milliseconds for tasks. |
729c563d | 15 | * After this time, newly created workers will be terminated. |
4c35177b | 16 | * The last active time of your worker unit will be updated when a task is submitted to a worker or when a worker terminate a task. |
17 | * If killBehavior is set to HARD this value represents also the timeout for the tasks that you submit to the pool, | |
18 | * when this timeout expires your tasks is interrupted and the worker is killed if is not part of the minimum size of the pool. | |
143f3ca2 | 19 | * If `killBehavior` is set to `SOFT` your tasks have no timeout and your workers will not be terminated until your task is finished. |
325f50bc S |
20 | * |
21 | * @default 60.000 ms | |
22 | */ | |
23 | maxInactiveTime?: number | |
24 | /** | |
729c563d | 25 | * Whether your worker will perform asynchronous or not. |
325f50bc S |
26 | * |
27 | * @default false | |
28 | */ | |
29 | async?: boolean | |
4c35177b | 30 | /** |
31 | * killBehavior dictates if your async unit ( worker/process ) will be deleted in case that a task is active on it. | |
3fda8d8b | 32 | * SOFT: If current time - last active time is greater than `maxInactiveTime` option, but a task is still running then the worker will be not deleted. |
4c35177b | 33 | * HARD: If last active time is greater than maxInactiveTime option, but a task is still running then the worker will be deleted. |
34 | * This option only apply to the newly created workers. | |
35 | * | |
36 | * @default SOFT | |
37 | */ | |
38 | killBehavior?: string | |
325f50bc | 39 | } |