问题标签 [parallel-execution]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
39 浏览

selenium - 由于场景大纲中未定义的步骤,黄瓜报告的状态显示为失败

我在jenkins生成的 Cucumber 报告中遇到了一个问题。即使通过,测试状态也会显示为失败。它最初以黄色(未定义的步骤)显示场景大纲,以下迭代正在通过。

我有一个包含 2 次迭代的场景大纲

生成的报告是 示例报告图像

有没有其他方法可以防止测试失败?有人可以帮助解决这个问题吗?

注意:它在顺序执行中运行良好,在实现并行浏览器之后,我遇到了这个问题

0 投票
1 回答
1128 浏览

sql - PARALLEL (AUTO) Oracle 提示和 PARALLEL_MIN_TIME_THRESHOLD

Oracle 提示PARALLEL (AUTO)似乎阻止了并行执行。以下是在 12c 开发服务器上,但我们在 19c 服务器上看到了类似的行为。 PARALLEL产生并行执行,但PARALLEL (AUTO)没有。为什么不?

启用 PDML。

以下是%parallel%供参考的参数。

解释这个UPDATEDML 表明我们确实得到了并行执行。

但是,当使用PARALLEL (AUTO)提示时,我们不再接收并行执行。

只是为了确认它不是PARALLEL_DEGREE_POLICY让我们把它改成不是MANUAL

结果相同。

即使我们从语句中删除 PDML 方面,SELECT(Parallel Query - PQ) 也会出现令人惊讶的结果。

此非生产服务器上的活动非常有限。

这种行为PARALLEL (AUTO)似乎与文档相矛盾(参考下文)。

Oracle SQL 数据库参考 | PARALLEL_DEGREE_POLICY

注意:如果在 SQL 语句级别使用 PARALLEL 提示,则无论 PARALLEL_DEGREE_POLICY 的值如何,都将启用自动并行度。

Oracle SQL 参考指南 | 评论 | 提示

此提示会覆盖 PARALLEL_DEGREE_POLICY 初始化参数的值。它适用于语句的 SELECT、INSERT、MERGE、UPDATE 和 DELETE 部分,以及表扫描部分。如果违反了任何并行限制,则忽略该提示。

12c

PARALLEL:语句始终并行运行,数据库计算并行度,可以为 2 或更大。
PARALLEL (AUTO):数据库计算并行度,可以为 1 或更大。如果计算出的并行度为 1,则语句串行运行。
PARALLEL (MANUAL):优化器被迫使用语句中对象的并行设置。

19c/21c

PARALLEL:该语句导致的并行度等于或大于计算的并行度,除非并行度对于最低成本计划不可行。当并行性不可行时,该语句将串行运行。
PARALLEL (AUTO):该语句导致的并行度等于或大于计算的并行度,除非并行度对于最低成本计划不可行。当并行性不可行时,该语句将串行运行。
PARALLEL (MANUAL):优化器被迫使用语句中对象的并行设置。

这里发生了什么?提前致谢。

0 投票
0 回答
58 浏览

c++ - 使用 std::thread 并加入并行性

我正在制作一个脚本,它遍历 fasta 文件的所有染色体并将其拆分为 10 bp 的片段,该函数称为 chrdata,我将这些片段保存到一个文件中。这种碎片可能发生在每个染色体上,与其他染色体完全分开,因此我正在尝试线程。 chrdata(faidx_t *seq_ref ,int chr_no,FILE *fp) 我的目标是希望加快这个过程。为了实现这一点,我尝试了使用 std::thread 函数的多线程。

我尝试过不同的东西。

  1. 首先,我尝试为第一个染色体创建一个线程,然后创建 thread.join(),然后为下一个染色体创建下一个线程,依此类推。
  2. 然后我尝试一次创建多个线程,就像使用 <thread> 在 C++ 中的同时线程中解释的那样, 这是下面的示例。

但是,据我了解并且我可以阅读,我总是需要使用 join 否则我最终会得到“在没有活动异常的情况下终止调用”。问题是示例 (1) 和 (2) 之间没有时间执行差异。

根据我的理解,尽管创建了带有线程对象的向量,但它们仍然必须加入并等待所有线程执行。这意味着这将是并发执行而不是并行执行。

所以我的问题是:任何人都可以给我建议下面的函数,我可能会改变以通过使用并行执行来加快执行速度?

还是在这种情况下我对加入和并发的理解是错误的?我不完全确定为什么我们不能跳过整个连接部分,如果所有线程都完成了,为什么我们不能只使用 detach()?

我没有攻击 main() 或 chrdata() 以使代码和问题更清晰。

pastebin.com/iY6u9CbH

0 投票
0 回答
85 浏览

python - 使用nose2(unitest/python/testsuite)并行执行测试套件测试用例

如何为 5 个单元测试测试类并行生成 5 个浏览器实例,每个测试类包含 4-5 个测试用例。我已经将这些类分组到一个测试套件中,并像下面这样调用nose2。但它按顺序启动浏览器实例。

鼻子2.cfg

更新-->

下面的代码没有使用默认的 testsuite 类,而是使用 multiprocessing 为 3 个测试类生成 3 个本地浏览器实例。

0 投票
1 回答
111 浏览

api - 空手道功能文件的 JUnit 5 运行器中的并行执行没有停止

空手道(版本 -0.9.4) - 有一个功能文件,其中使用了 4 个场景大纲,如果我单独运行此功能文件,那么它工作正常。但是当在并行运行中添加相同的文件时,并行执行不会停止。以下错误显示 错误屏幕截图

由于这个问题,没有生成黄瓜报告。

0 投票
0 回答
209 浏览

performance - 如何并行运行 ansible 角色

我正在使用最新版本的 ansible 和 python

我写了一个描述我面临的问题的测试用例。

我运行下面的 shell 脚本并传递三个应用程序名称,每个应用程序名称都是在同一节点上执行任务并休眠(等待)10 秒的 ansible 角色,这意味着它将执行超过(3X10)30 秒,如果执行不是并行的

下面是我用来运行我的 ansible-roles 剧本的 shell 脚本和角色的代码:

下面的输出显示执行不是并行的,需要 43 秒而不是 10+ 秒

这三个/tmp/par_<appname>.log确实生成了。

我尝试&在我的 shell 脚本中添加 ansible-playbook 命令,因此每个应用程序都是一个新的 ansible-playbook 任务,它并行运行但只生成一个/tmp/par_<appname>.log而不是全部三个。此外,执行似乎需要与以前相同的时间。

输出&更改:

我在这里阅读了有关 ansible 角色并行执行的内容如何在 Ansible 剧本中并行运行几个角色?然而,

您能否建议我如何让三个应用程序任务并行运行,这样我只需要大约 10 多秒?调整,解决方法也将受到赞赏。

如果此解决方案对我永远不起作用,请通过示例提出替代方法。

0 投票
0 回答
54 浏览

python - 测试用例的并行执行不适用于 pytest-html-reporter 报告

这是我使用 pytest 运行几个测试用例的简单命令: py.test -S www -m "now" -n=5 --html-report=./report/RegressionReport.html --self-contained-html

在这里, --html- report是插件pytest-html-reporter的命令行参数

在我开始使用此插件美化我的基本 pytest 报告后,我的并行执行似乎工作正常,但在这种情况下 output.json 仅显示最后一个实例的结果,报告还显示仅最后一个实例的不完整数据并行执行。

早些时候,使用pytest-html插件和--html命令行参数,并行执行工作正常。

有什么建议么??提前致谢。

0 投票
2 回答
183 浏览

postgresql - 将数据库更改为 postgres 时气流并行失败

我已经在本地安装了气流,并且正在更改执行程序以运行并行任务为此,我更改了

1- 数据库到 Postgres 13.3

2- 在配置文件中 sql_alchemy_conn = postgresql+psycopg2://postgres:postgres@localhost/postgres

3-执行者=本地执行者

我已经使用气流数据库检查检查了数据库并且没有错误 - > INFO - 连接成功。气流数据库初始化->初始化完成

我收到的错误,我根本不使用 SQLite

1- {dag_processing.py:515} 警告 - 因为我们在使用 SQLite 时不能使用超过 1 个线程(parsing_processes = 2)。所以我们将并行度设置为 1。

2- 我从气流网络界面收到此错误

那么我应该做任何其他改变吗?

0 投票
1 回答
355 浏览

junit5 - Junit 5 测试未并行运行

我创建了一个简单的程序来初始化 crome 和一个 SYSO 语句。我想并行运行 2 @Test。但它执行的总是 seq。它无法识别并行执行的原因是什么?

这是代码:

'''

这是资源文件夹下的“junit-platform.properties”

0 投票
1 回答
142 浏览

selenium - 错误:会话 ID 为空。调用 quit() 后使用 WebDriver?- 并行执行 - AfterMethod driver.quit/close

在我的代码下面找到

我知道这是因为 driver.quit()。所以我只使用了驱动程序。AfterMethod 中的 close()。还是失败了。我也没有使用静态。解决办法是什么。