mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-12 02:21:29 +08:00
rename arg name: --cpu-cores => --processes
This commit is contained in:
@@ -21,10 +21,10 @@ $ locusts -f examples/first-testcase.yml
|
||||
|
||||
In this case, you can reuse all features of [`Locust`][Locust].
|
||||
|
||||
That’s not all about it. With the argument `--cpu-cores`, you can even start locust with master and specified number of slaves (default to cpu cores number) at one time, which means you can leverage all cpus of your machine.
|
||||
That’s not all about it. With the argument `--processes`, you can even start locust with master and specified number of slaves (default to cpu cores number) at one time, which means you can leverage all cpus of your machine.
|
||||
|
||||
```bash
|
||||
$ locusts -f examples/first-testcase.yml --cpu-cores 4
|
||||
$ locusts -f examples/first-testcase.yml --processes 4
|
||||
[2017-08-26 23:51:47,071] bogon/INFO/locust.main: Starting web monitor at *:8089
|
||||
[2017-08-26 23:51:47,075] bogon/INFO/locust.main: Starting Locust 0.8a2
|
||||
[2017-08-26 23:51:47,078] bogon/INFO/locust.main: Starting Locust 0.8a2
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
__title__ = 'HttpRunner'
|
||||
__description__ = 'One-stop solution for HTTP(S) testing.'
|
||||
__url__ = 'https://github.com/HttpRunner/HttpRunner'
|
||||
__version__ = '1.3.8.beta.2'
|
||||
__version__ = '1.3.8.beta.3'
|
||||
__author__ = 'debugtalk'
|
||||
__author_email__ = 'mail@debugtalk.com'
|
||||
__license__ = 'MIT'
|
||||
|
||||
@@ -117,34 +117,34 @@ def main_locust():
|
||||
testcase_file_path = sys.argv[testcase_index]
|
||||
sys.argv[testcase_index] = locusts.parse_locustfile(testcase_file_path)
|
||||
|
||||
if "--cpu-cores" in sys.argv:
|
||||
""" locusts -f locustfile.py --cpu-cores 4
|
||||
if "--processes" in sys.argv:
|
||||
""" locusts -f locustfile.py --processes 4
|
||||
"""
|
||||
if "--no-web" in sys.argv:
|
||||
logger.log_error("conflict parameter args: --cpu-cores & --no-web. \nexit.")
|
||||
logger.log_error("conflict parameter args: --processes & --no-web. \nexit.")
|
||||
sys.exit(1)
|
||||
|
||||
cpu_cores_index = sys.argv.index('--cpu-cores')
|
||||
processes_index = sys.argv.index('--processes')
|
||||
|
||||
cpu_cores_num_index = cpu_cores_index + 1
|
||||
processes_count_index = processes_index + 1
|
||||
|
||||
if cpu_cores_num_index >= len(sys.argv):
|
||||
""" do not specify cpu cores explicitly
|
||||
locusts -f locustfile.py --cpu-cores
|
||||
if processes_count_index >= len(sys.argv):
|
||||
""" do not specify processes count explicitly
|
||||
locusts -f locustfile.py --processes
|
||||
"""
|
||||
cpu_cores_num_value = multiprocessing.cpu_count()
|
||||
logger.log_warning("cpu cores number not specified, use {} by default.".format(cpu_cores_num_value))
|
||||
processes_count = multiprocessing.cpu_count()
|
||||
logger.log_warning("processes count not specified, use {} by default.".format(processes_count))
|
||||
else:
|
||||
try:
|
||||
""" locusts -f locustfile.py --cpu-cores 4 """
|
||||
cpu_cores_num_value = int(sys.argv[cpu_cores_num_index])
|
||||
sys.argv.pop(cpu_cores_num_index)
|
||||
""" locusts -f locustfile.py --processes 4 """
|
||||
processes_count = int(sys.argv[processes_count_index])
|
||||
sys.argv.pop(processes_count_index)
|
||||
except ValueError:
|
||||
""" locusts -f locustfile.py --cpu-cores -P 8888 """
|
||||
cpu_cores_num_value = multiprocessing.cpu_count()
|
||||
logger.log_warning("cpu cores number not specified, use {} by default.".format(cpu_cores_num_value))
|
||||
""" locusts -f locustfile.py --processes -P 8888 """
|
||||
processes_count = multiprocessing.cpu_count()
|
||||
logger.log_warning("processes count not specified, use {} by default.".format(processes_count))
|
||||
|
||||
sys.argv.pop(cpu_cores_index)
|
||||
locusts.run_locusts_on_cpu_cores(sys.argv, cpu_cores_num_value)
|
||||
sys.argv.pop(processes_index)
|
||||
locusts.run_locusts_with_processes(sys.argv, processes_count)
|
||||
else:
|
||||
locusts.main()
|
||||
|
||||
@@ -65,11 +65,11 @@ def start_slave(sys_argv):
|
||||
sys.argv = sys_argv
|
||||
main()
|
||||
|
||||
def run_locusts_on_cpu_cores(sys_argv, cpu_cores_num_value):
|
||||
def run_locusts_with_processes(sys_argv, processes_count):
|
||||
processes = []
|
||||
manager = multiprocessing.Manager()
|
||||
|
||||
for _ in range(cpu_cores_num_value):
|
||||
for _ in range(processes_count):
|
||||
p_slave = multiprocessing.Process(target=start_slave, args=(sys_argv,))
|
||||
p_slave.daemon = True
|
||||
p_slave.start()
|
||||
|
||||
Reference in New Issue
Block a user