Skip to content

Commit

Permalink
feat: add deno 2.x.x support
Browse files Browse the repository at this point in the history
Signed-off-by: Jérôme Benoit <[email protected]>
  • Loading branch information
jerome-benoit committed Sep 19, 2024
1 parent db08acf commit 47dfca2
Show file tree
Hide file tree
Showing 7 changed files with 75 additions and 83 deletions.
22 changes: 4 additions & 18 deletions deno.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,7 @@
"version": "0.4.27",
"exports": "./src/mod.ts",
"compilerOptions": {
"lib": [
"deno.worker"
],
"lib": ["deno.worker"],
"strict": true
},
"tasks": {
Expand All @@ -26,9 +24,7 @@
"documentation": "deno doc ./src/mod.ts"
},
"test": {
"include": [
"./tests/**/*.test.mjs"
]
"include": ["./tests/**/*.test.mjs"]
},
"fmt": {
"semiColons": false,
Expand All @@ -42,18 +38,8 @@
"expect": "npm:expect@^29.7.0"
},
"publish": {
"include": [
"LICENSE",
"README.md",
"deno.json",
"src/**/*.ts"
]
"include": ["LICENSE", "README.md", "deno.json", "src/**/*.ts"]
},
"lock": false,
"exclude": [
"./coverage",
"./dist/browser",
"./dist/esm",
"./npm"
]
"exclude": ["./coverage", "./dist/browser", "./dist/esm", "./npm"]
}
35 changes: 18 additions & 17 deletions src/pools/selection-strategies/fair-share-worker-choice-strategy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,23 +22,24 @@ export class FairShareWorkerChoiceStrategy<
> extends AbstractWorkerChoiceStrategy<Worker, Data, Response>
implements IWorkerChoiceStrategy {
/** @inheritDoc */
public readonly taskStatisticsRequirements: TaskStatisticsRequirements = {
runTime: {
aggregate: true,
average: true,
median: false,
},
waitTime: {
aggregate: true,
average: true,
median: false,
},
elu: {
aggregate: true,
average: true,
median: false,
},
}
public override readonly taskStatisticsRequirements:
TaskStatisticsRequirements = {
runTime: {
aggregate: true,
average: true,
median: false,
},
waitTime: {
aggregate: true,
average: true,
median: false,
},
elu: {
aggregate: true,
average: true,
median: false,
},
}

/** @inheritDoc */
public constructor(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,20 @@ export class InterleavedWeightedRoundRobinWorkerChoiceStrategy<
> extends AbstractWorkerChoiceStrategy<Worker, Data, Response>
implements IWorkerChoiceStrategy {
/** @inheritDoc */
public readonly taskStatisticsRequirements: TaskStatisticsRequirements = {
runTime: {
aggregate: true,
average: true,
median: false,
},
waitTime: {
aggregate: true,
average: true,
median: false,
},
elu: DEFAULT_MEASUREMENT_STATISTICS_REQUIREMENTS,
}
public override readonly taskStatisticsRequirements:
TaskStatisticsRequirements = {
runTime: {
aggregate: true,
average: true,
median: false,
},
waitTime: {
aggregate: true,
average: true,
median: false,
},
elu: DEFAULT_MEASUREMENT_STATISTICS_REQUIREMENTS,
}

/**
* Round id.
Expand Down Expand Up @@ -156,7 +157,9 @@ export class InterleavedWeightedRoundRobinWorkerChoiceStrategy<
}

/** @inheritDoc */
public setOptions(opts: WorkerChoiceStrategyOptions | undefined): void {
public override setOptions(
opts: WorkerChoiceStrategyOptions | undefined,
): void {
super.setOptions(opts)
this.roundWeights = this.getRoundWeights()
}
Expand Down
27 changes: 14 additions & 13 deletions src/pools/selection-strategies/least-busy-worker-choice-strategy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,20 @@ export class LeastBusyWorkerChoiceStrategy<
> extends AbstractWorkerChoiceStrategy<Worker, Data, Response>
implements IWorkerChoiceStrategy {
/** @inheritDoc */
public readonly taskStatisticsRequirements: TaskStatisticsRequirements = {
runTime: {
aggregate: true,
average: false,
median: false,
},
waitTime: {
aggregate: true,
average: false,
median: false,
},
elu: DEFAULT_MEASUREMENT_STATISTICS_REQUIREMENTS,
}
public override readonly taskStatisticsRequirements:
TaskStatisticsRequirements = {
runTime: {
aggregate: true,
average: false,
median: false,
},
waitTime: {
aggregate: true,
average: false,
median: false,
},
elu: DEFAULT_MEASUREMENT_STATISTICS_REQUIREMENTS,
}

/** @inheritDoc */
public constructor(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,20 @@ export class WeightedRoundRobinWorkerChoiceStrategy<
> extends AbstractWorkerChoiceStrategy<Worker, Data, Response>
implements IWorkerChoiceStrategy {
/** @inheritDoc */
public readonly taskStatisticsRequirements: TaskStatisticsRequirements = {
runTime: {
aggregate: true,
average: true,
median: false,
},
waitTime: {
aggregate: true,
average: true,
median: false,
},
elu: DEFAULT_MEASUREMENT_STATISTICS_REQUIREMENTS,
}
public override readonly taskStatisticsRequirements:
TaskStatisticsRequirements = {
runTime: {
aggregate: true,
average: true,
median: false,
},
waitTime: {
aggregate: true,
average: true,
median: false,
},
elu: DEFAULT_MEASUREMENT_STATISTICS_REQUIREMENTS,
}

/**
* Worker node virtual task execution time.
Expand Down
12 changes: 6 additions & 6 deletions src/pools/thread/dynamic.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,12 @@ export class DynamicThreadPool<
}

/** @inheritDoc */
protected shallCreateDynamicWorker(): boolean {
protected override shallCreateDynamicWorker(): boolean {
return (!this.full && this.internalBusy()) || this.empty
}

/** @inheritDoc */
protected checkAndEmitDynamicWorkerCreationEvents(): void {
protected override checkAndEmitDynamicWorkerCreationEvents(): void {
if (this.eventTarget != null) {
if (!this.fullEventEmitted && this.full) {
this.eventTarget.dispatchEvent(
Expand All @@ -71,7 +71,7 @@ export class DynamicThreadPool<
}

/** @inheritDoc */
protected checkAndEmitDynamicWorkerDestructionEvents(): void {
protected override checkAndEmitDynamicWorkerDestructionEvents(): void {
if (this.eventTarget != null) {
if (this.fullEventEmitted && !this.full) {
this.eventTarget.dispatchEvent(
Expand Down Expand Up @@ -113,17 +113,17 @@ export class DynamicThreadPool<
}

/** @inheritDoc */
protected get type(): PoolType {
protected override get type(): PoolType {
return PoolTypes.dynamic
}

/** @inheritDoc */
protected get backPressure(): boolean {
protected override get backPressure(): boolean {
return this.full && this.internalBackPressure()
}

/** @inheritDoc */
protected get busy(): boolean {
protected override get busy(): boolean {
return this.full && this.internalBusy()
}
}
4 changes: 2 additions & 2 deletions src/worker/thread-worker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ export class ThreadWorker<
}

/** @inheritDoc */
protected handleKillMessage(message: MessageValue<Data>): void {
protected override handleKillMessage(message: MessageValue<Data>): void {
super.handleKillMessage(message)
this.port?.close()
}
Expand All @@ -94,7 +94,7 @@ export class ThreadWorker<
* @inheritDoc
* @override
*/
protected handleError(error: Error | string): string {
protected override handleError(error: Error | string): string {
return error as string
}
}

0 comments on commit 47dfca2

Please sign in to comment.