*/
export const KillBehaviors = Object.freeze({
/**
- * If `currentTime - lastActiveTime` is greater than `maxInactiveTime` but a task is still running, then the worker **wont** be deleted.
+ * If `currentTime - lastActiveTime` is greater than `maxInactiveTime` but a task is still executing or queued, then the worker **wont** be deleted.
*/
SOFT: 'SOFT',
/**
- * If `currentTime - lastActiveTime` is greater than `maxInactiveTime` but a task is still running, then the worker will be deleted.
+ * If `currentTime - lastActiveTime` is greater than `maxInactiveTime` but a task is still executing or queued, then the worker will be deleted.
*/
HARD: 'HARD'
} as const)
*/
export type KillBehavior = keyof typeof KillBehaviors
-/**
- * Detects whether the given value is a kill behavior or not.
- *
- * @typeParam KB - Which specific KillBehavior type to test against.
- * @param killBehavior - Which kind of kill behavior to detect.
- * @param value - Any value.
- * @returns `true` if `value` was strictly equals to `killBehavior`, otherwise `false`.
- */
-export function isKillBehavior<KB extends KillBehavior> (
- killBehavior: KB,
- value: unknown
-): value is KB {
- return value === killBehavior
-}
-
/**
* Options for workers.
*/
*/
async?: boolean
/**
- * `killBehavior` dictates if your async unit (worker/process) will be deleted in case that a task is active on it.
+ * `killBehavior` dictates if your worker will be deleted in case that a task is active on it.
*
- * - SOFT: If `currentTime - lastActiveTime` is greater than `maxInactiveTime` but a task is still running, then the worker **won't** be deleted.
- * - HARD: If `currentTime - lastActiveTime` is greater than `maxInactiveTime` but a task is still running, then the worker will be deleted.
+ * - SOFT: If `currentTime - lastActiveTime` is greater than `maxInactiveTime` but a task is still executing or queued, then the worker **won't** be deleted.
+ * - HARD: If `currentTime - lastActiveTime` is greater than `maxInactiveTime` but a task is still executing or queued, then the worker will be deleted.
*
* This option only apply to the newly created workers.
*