diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2020-01-21 09:49:47 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-21 09:49:47 +0100 |
commit | 7966bf14c062a05b1606a62c996890571454ecc8 (patch) | |
tree | 65bede64b47707c3accc80d0bb18e99840c639f7 /cli/tests/workers_round_robin_bench.ts | |
parent | c90036ab88bb1ae6b9c87d5e368f56d8c8afab69 (diff) |
refactor: split worker and worker host logic (#3722)
* split ops/worker.rs into ops/worker_host.rs and ops/web_worker.rs
* refactor js/workers.ts and factor out js/worker_main.ts - entry point for WebWorker runtime
* BREAKING CHANGE: remove support for blob: URL in Worker
* BREAKING CHANGE: remove Deno namespace support and noDenoNamespace option in Worker constructor
* introduce WebWorker struct which is a stripped down version of cli::Worker
Diffstat (limited to 'cli/tests/workers_round_robin_bench.ts')
-rw-r--r-- | cli/tests/workers_round_robin_bench.ts | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/cli/tests/workers_round_robin_bench.ts b/cli/tests/workers_round_robin_bench.ts index 992ce38dc..e8f5b2d30 100644 --- a/cli/tests/workers_round_robin_bench.ts +++ b/cli/tests/workers_round_robin_bench.ts @@ -37,12 +37,11 @@ function handleAsyncMsgFromWorker( async function main(): Promise<void> { const workers: Array<[Map<number, Resolvable<string>>, Worker]> = []; for (let i = 1; i <= workerCount; ++i) { - const worker = new Worker("./subdir/bench_worker.ts"); - const promise = new Promise((resolve): void => { - worker.onmessage = (e): void => { - if (e.data.cmdId === 0) resolve(); - }; - }); + const worker = new Worker("./subdir/bench_worker.ts", { type: "module" }); + const promise = createResolvable<void>(); + worker.onmessage = (e): void => { + if (e.data.cmdId === 0) promise.resolve(); + }; worker.postMessage({ cmdId: 0, action: 2 }); await promise; workers.push([new Map(), worker]); @@ -66,8 +65,12 @@ async function main(): Promise<void> { } } for (const [, worker] of workers) { + const promise = createResolvable<void>(); + worker.onmessage = (e): void => { + if (e.data.cmdId === 3) promise.resolve(); + }; worker.postMessage({ action: 3 }); - await worker.closed; // Required to avoid a cmdId not in table error. + await promise; } console.log("Finished!"); } |