如何获取当前并行工作者的数量?

问题描述 投票:0回答:1

在剧作家+打字稿项目中,我们使用以下配置行:

工人:process.env.CI? 1:未定义,

undefined
值允许本地用户在具有 2*X CPU 核心的计算机上使用 X 个并行工作线程更快地执行(请参阅 https://learn.microsoft.com/en-us/azure/playwright-testing/concept-define -最佳配置)。

这很棒,我们希望保持这种灵活性,但在代码中的某些时候,我们还需要知道当前执行可以支持多少个最大工作线程。

我看到了获得像

process.env.TEST_WORKER_INDEX
这样的工人索引的方法,但是有没有办法知道我的机器最多可以容纳多少个工人?
playwrightConfig.workers
当然会返回
undefined
:)

typescript automated-tests playwright parallel-testing
1个回答
0
投票

默认情况下,它是逻辑 CPU 核心数量的一半 -

os.cpus().length / 2
。即使你在 playwrightConfig.workers 中设置了 undefined,你也可以从测试中获取它。

import test from "@playwright/test";

test("Example", async ({}, testInfo) => {
  console.log(testInfo.config.workers);
});

您还可以通过设置核心百分比来调整执行 -

workers: "75%"
。 (同样,默认为 50%)

© www.soinside.com 2019 - 2024. All rights reserved.