mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-16 23:47:37 +08:00
32 lines
704 B
Python
32 lines
704 B
Python
import multiprocessing
|
|
import sys
|
|
|
|
from locust.main import main
|
|
|
|
|
|
def start_master(sys_argv):
|
|
sys_argv.append("--master")
|
|
sys.argv = sys_argv
|
|
main()
|
|
|
|
def start_slave(sys_argv):
|
|
sys_argv.extend(["--slave"])
|
|
sys.argv = sys_argv
|
|
main()
|
|
|
|
def run_locusts_at_full_speed(sys_argv):
|
|
sys_argv.pop(sys_argv.index("--full-speed"))
|
|
slaves_num = multiprocessing.cpu_count()
|
|
|
|
processes = []
|
|
for _ in range(slaves_num):
|
|
p_slave = multiprocessing.Process(target=start_slave, args=(sys_argv,))
|
|
p_slave.daemon = True
|
|
p_slave.start()
|
|
processes.append(p_slave)
|
|
|
|
try:
|
|
start_master(sys_argv)
|
|
except KeyboardInterrupt:
|
|
sys.exit(0)
|