repositories
/
poolifier.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #118 from pioardi/dependabot/npm_and_yarn/eslint-plugin-promise...
[poolifier.git]
/
src
/
dynamic.ts
diff --git
a/src/dynamic.ts
b/src/dynamic.ts
index 211141ca5535e0a864d22d38c8ee167e0930dc8f..b4c6bddf30e8e9c964cb1038a05a7788d6bce589 100644
(file)
--- a/
src/dynamic.ts
+++ b/
src/dynamic.ts
@@
-1,12
+1,10
@@
-/* eslint-disable @typescript-eslint/strict-boolean-expressions */
-
-import FixedThreadPool, {
+import { EventEmitter } from 'events'
+import {
+ FixedThreadPool,
FixedThreadPoolOptions,
WorkerWithMessageChannel
} from './fixed'
FixedThreadPoolOptions,
WorkerWithMessageChannel
} from './fixed'
-import { EventEmitter } from 'events'
-
class MyEmitter extends EventEmitter {}
export type DynamicThreadPoolOptions = FixedThreadPoolOptions
class MyEmitter extends EventEmitter {}
export type DynamicThreadPoolOptions = FixedThreadPoolOptions
@@
-20,10
+18,12
@@
export type DynamicThreadPoolOptions = FixedThreadPoolOptions
* @author [Alessandro Pio Ardizio](https://github.com/pioardi)
* @since 0.0.1
*/
* @author [Alessandro Pio Ardizio](https://github.com/pioardi)
* @since 0.0.1
*/
-export default class DynamicThreadPool<
+/* eslint-disable @typescript-eslint/no-explicit-any */
+export class DynamicThreadPool<
Data = any,
Response = any
> extends FixedThreadPool<Data, Response> {
Data = any,
Response = any
> extends FixedThreadPool<Data, Response> {
+ /* eslint-enable @typescript-eslint/no-explicit-any */
public readonly emitter: MyEmitter
/**
public readonly emitter: MyEmitter
/**
@@
-43,7
+43,7
@@
export default class DynamicThreadPool<
this.emitter = new MyEmitter()
}
this.emitter = new MyEmitter()
}
- protected
_
chooseWorker (): WorkerWithMessageChannel {
+ protected chooseWorker (): WorkerWithMessageChannel {
let worker: WorkerWithMessageChannel | undefined
for (const entry of this.tasks) {
if (entry[1] === 0) {
let worker: WorkerWithMessageChannel | undefined
for (const entry of this.tasks) {
if (entry[1] === 0) {
@@
-58,14
+58,13
@@
export default class DynamicThreadPool<
} else {
if (this.workers.length === this.max) {
this.emitter.emit('FullPool')
} else {
if (this.workers.length === this.max) {
this.emitter.emit('FullPool')
- return super.
_
chooseWorker()
+ return super.chooseWorker()
}
// all workers are busy create a new worker
}
// all workers are busy create a new worker
- const worker = this.
_
newWorker()
+ const worker = this.newWorker()
worker.port2?.on('message', (message: { kill?: number }) => {
if (message.kill) {
worker.postMessage({ kill: 1 })
worker.port2?.on('message', (message: { kill?: number }) => {
if (message.kill) {
worker.postMessage({ kill: 1 })
- // eslint-disable-next-line no-void
void worker.terminate()
// clean workers from data structures
const workerIndex = this.workers.indexOf(worker)
void worker.terminate()
// clean workers from data structures
const workerIndex = this.workers.indexOf(worker)
@@
-77,5
+76,3
@@
export default class DynamicThreadPool<
}
}
}
}
}
}
-
-module.exports = DynamicThreadPool