rename arg name: --cpu-cores => --processes

This commit is contained in:
debugtalk
2018-04-11 22:53:46 +08:00
parent 3882f41614
commit ddfec58cc3
4 changed files with 23 additions and 23 deletions

View File

@@ -21,10 +21,10 @@ $ locusts -f examples/first-testcase.yml
In this case, you can reuse all features of [`Locust`][Locust].
Thats 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.
Thats 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

View File

@@ -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'

View File

@@ -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()

View File

@@ -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()