在我的localhost(127.0.0.1:8089)上使用Locust up尝试了这个,但它提供了400个错误的请求错误:
import requests
response = requests.post('http://127.0.0.1:8089/swarm', params={"locust_count":10, "hatch_rate":5})
print response.text
响应:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>400 Bad Request</title>
<h1>Bad Request</h1>
<p>The browser (or proxy) sent a request that this server could not understand.</p>
我已经通过浏览器浏览了http://127.0.0.1:8089/确实已经确认了。 locustfile.py
的代码位于this post。
答案 0 :(得分:1)
我找到了最简单的解决方案:
import os
from locust.main import main
def run_locust(**kwargs):
os.environ['LOCUST_HOST'] = kwargs.get('LOCUST_HOST')
os.environ['LOCUST_RUN_TIME'] = kwargs.get('LOCUST_RUN_TIME', '1m')
os.environ['LOCUST_NO_WEB'] = str(kwargs.get('LOCUST_NO_WEB', True))
os.environ['LOCUST_LOCUSTFILE'] = kwargs.get('LOCUST_LOCUSTFILE')
os.environ['LOCUST_CLIENTS'] = str(kwargs.get('LOCUST_CLIENTS'))
os.environ['LOCUST_HATCH_RATE'] = str(kwargs.get('LOCUST_HATCH_RATE'))
main()
答案 1 :(得分:0)
如果您想从代码中启动蝗虫,那么您有3个选项:
(不是首选但工作正常)您可以使用CLI运行Locust( - no-web,-c,-r) https://docs.locust.io/en/latest/running-locust-without-web-ui.html
自行实施蝗虫加载逻辑: https://github.com/locustio/locust/issues/222(使用消息线程中提供的代码)
使用Invokust: https://github.com/FutureSharks/invokust
第一种选择,即使不是最“pythonic”也是最容易做到的。我还在尝试第二种选择。