Size: a a a

testing_in_python

2021 February 25

АК

Александр Кот... in testing_in_python
Nikolay Romeiko
Спасибо, но мне нужно подготовить один тест таким образом. Сгенерить данные. Пробовал разные решения, но нужно вникать в asyncio или threading - пока результат нулевой.
на SO уже были? https://stackoverflow.com/a/65473459/8091236
ниже про threading pool map направление дали верное
источник

AM

Aleksei Moskvin in testing_in_python
Виталий
А если запускать тесты в контейнерах через selenoid, как потом собрать общий Allur отчёт?
Уточните все же, какая у вас конфигурация. Если тесты запускаются в параллель, но на одном все хосте, то проблем нет
Если же тесты запускаются в параллель распределенно, то есть на нескольких нодах, то тогда надо что-то придумывать.

Где и как при этом запущен selenoid/selenium grid не важно
источник

СС

Сказочный Сникерс... in testing_in_python
к слову, такое решение (threading pool) все равно не будет параллельным) ну точнее оно будет пытаться быть параллельным пока отправлен запрос и мы ждем ответа, но сам код все равно будет выполняться последовательно
источник

A

Alex in testing_in_python
Сказочный Сникерс
к слову, такое решение (threading pool) все равно не будет параллельным) ну точнее оно будет пытаться быть параллельным пока отправлен запрос и мы ждем ответа, но сам код все равно будет выполняться последовательно
а как в рамках одного процесса достичь истинной параллельности?
источник

СС

Сказочный Сникерс... in testing_in_python
никак
источник

NV

Nikita Vandyshev in testing_in_python
А ProcessPoolExecutor разве не решит эту проблему?
источник

NV

Nikita Vandyshev in testing_in_python
и использовать обмен данными между процессами
источник

СС

Сказочный Сникерс... in testing_in_python
можно минимизировать потери за счет async, когда тред упирается в Input|Output. То есть пока мы так и так ждем IO - тред засыпает и начинает работать другой и так далее
источник

СС

Сказочный Сникерс... in testing_in_python
Nikita Vandyshev
А ProcessPoolExecutor разве не решит эту проблему?
это уже не в рамках 1 процесса)
источник

СС

Сказочный Сникерс... in testing_in_python
но да, это самый приоритетный вариант когда надо достичь истинной параллельности. 1 мастер процесс контролит воркеры и забирает с них результат (либо они шарят память между друг другом любым способом)
источник

AM

Aleksei Moskvin in testing_in_python
Можно пойти еще дальше и использовать какие-нибудь фреймворки для распределенных вычислений, вроде dask или spark (pyspark в данном случае)
источник

АК

Александр Кот... in testing_in_python
Сказочный Сникерс
к слову, такое решение (threading pool) все равно не будет параллельным) ну точнее оно будет пытаться быть параллельным пока отправлен запрос и мы ждем ответа, но сам код все равно будет выполняться последовательно
Он просто будет за раз отправлять N запросов и ждать ответов. И постоянно поддерживать очередь из 10 запросов, по скорости исполнения кода вроде не так критично в данном кейсе.
источник

СС

Сказочный Сникерс... in testing_in_python
Александр Кот
Он просто будет за раз отправлять N запросов и ждать ответов. И постоянно поддерживать очередь из 10 запросов, по скорости исполнения кода вроде не так критично в данном кейсе.
"за раз" это как?
источник

А

Алексей in testing_in_python
Alex
а как в рамках одного процесса достичь истинной параллельности?
Использовать джаву, кресты и тп языки с настоящей многопоточностью
источник

СС

Сказочный Сникерс... in testing_in_python
вот накидал простенький пример на коленке
источник

СС

Сказочный Сникерс... in testing_in_python
io
14.119089841842651
8.254918575286865
23.332992792129517
calc
5.350787878036499
0.8246402740478516
4.147642612457275
источник

T

Tishka17 in testing_in_python
Алексей
Использовать джаву, кресты и тп языки с настоящей многопоточностью
А? Что у нас ненастоящее?
источник

T

Tishka17 in testing_in_python
При сетевых обращениях GIL отпускается
источник

А

Алексей in testing_in_python
Tishka17
А? Что у нас ненастоящее?
Многопоточность 😂😂😂
источник

T

Tishka17 in testing_in_python
Алексей
Многопоточность 😂😂😂
Не замечал
источник