abortSignal?.addEventListener(
'abort',
() => {
- this.workerNodes[workerNodeKey].emit('abortTask', {
+ this.workerNodes[workerNodeKey]?.emit('abortTask', {
taskId: task.taskId,
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
workerId: this.getWorkerInfo(workerNodeKey)!.id!,
new Error("Task function 'unknown' not found")
)
let results = await pool.mapExecute(
- [{}, {}, {}, {}],
- 'jsonIntegerSerialization'
+ Array(4).fill({}),
+ 'jsonIntegerSerialization',
+ Array(4).fill(AbortSignal.timeout(1000))
)
expect(results).toStrictEqual([{ ok: 1 }, { ok: 1 }, { ok: 1 }, { ok: 1 }])
expect(pool.info.executingTasks).toBe(0)
expect(pool.info.executedTasks).toBe(4)
results = await pool.mapExecute(
[{ n: 10 }, { n: 20 }, { n: 30 }, { n: 40 }],
- 'factorial'
+ 'factorial',
+ Array(4).fill(AbortSignal.timeout(1000))
)
expect(results).toStrictEqual([
3628800, 2432902008176640000, 2.6525285981219103e32, 8.159152832478977e47,
expect(pool.info.executedTasks).toBe(8)
results = await pool.mapExecute(
new Set([{ n: 10 }, { n: 20 }, { n: 30 }, { n: 40 }]),
- 'factorial'
+ 'factorial',
+ new Set([
+ AbortSignal.timeout(1000),
+ AbortSignal.timeout(1500),
+ AbortSignal.timeout(2000),
+ AbortSignal.timeout(2500),
+ ])
)
expect(results).toStrictEqual([
3628800, 2432902008176640000, 2.6525285981219103e32, 8.159152832478977e47,
})
it('Verify that the function is executed in a worker cluster', async () => {
- let result = await pool.execute({
- function: TaskFunctions.fibonacci,
- })
+ let result = await pool.execute(
+ {
+ function: TaskFunctions.fibonacci,
+ },
+ 'default',
+ AbortSignal.timeout(2000)
+ )
expect(result).toBe(354224848179262000000)
- result = await pool.execute({
- function: TaskFunctions.factorial,
- })
+ result = await pool.execute(
+ {
+ function: TaskFunctions.factorial,
+ },
+ 'default',
+ AbortSignal.timeout(2000)
+ )
expect(result).toBe(9.33262154439441e157)
})
})
it('Verify that the function is executed in a worker cluster', async () => {
- let result = await pool.execute({
- function: TaskFunctions.fibonacci,
- })
+ let result = await pool.execute(
+ {
+ function: TaskFunctions.fibonacci,
+ },
+ 'default',
+ AbortSignal.timeout(2000)
+ )
expect(result).toBe(354224848179262000000)
- result = await pool.execute({
- function: TaskFunctions.factorial,
- })
+ result = await pool.execute(
+ {
+ function: TaskFunctions.factorial,
+ },
+ 'default',
+ AbortSignal.timeout(2000)
+ )
expect(result).toBe(9.33262154439441e157)
})
})
it('Verify that the function is executed in a worker thread', async () => {
- let result = await pool.execute({
- function: TaskFunctions.fibonacci,
- })
+ let result = await pool.execute(
+ {
+ function: TaskFunctions.fibonacci,
+ },
+ 'default',
+ AbortSignal.timeout(2000)
+ )
expect(result).toBe(354224848179262000000)
- result = await pool.execute({
- function: TaskFunctions.factorial,
- })
+ result = await pool.execute(
+ {
+ function: TaskFunctions.factorial,
+ },
+ 'default',
+ AbortSignal.timeout(2000)
+ )
expect(result).toBe(9.33262154439441e157)
})
})
it('Verify that the function is executed in a worker thread', async () => {
- let result = await pool.execute({
- function: TaskFunctions.fibonacci,
- })
+ let result = await pool.execute(
+ {
+ function: TaskFunctions.fibonacci,
+ },
+ 'default',
+ AbortSignal.timeout(2000)
+ )
expect(result).toBe(354224848179262000000)
- result = await pool.execute({
- function: TaskFunctions.factorial,
- })
+ result = await pool.execute(
+ {
+ function: TaskFunctions.factorial,
+ },
+ 'default',
+ AbortSignal.timeout(2000)
+ )
expect(result).toBe(9.33262154439441e157)
})