本文整理汇总了Python中locust.task方法的典型用法代码示例。如果您正苦于以下问题:Python locust.task方法的具体用法?Python locust.task怎么用?Python locust.task使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类locust
的用法示例。
在下文中一共展示了locust.task方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: on_start
# 需要导入模块: import locust [as 别名]
# 或者: from locust import task [as 别名]
def on_start(self):
"""
on_start is called when a Locust start before any task is scheduled
"""
self.trafic_flow_observers = 0
self.insert_traffic_flow_observed()
self.air_quality_observers = 0
self.insert_air_quality_observed()
示例2: index
# 需要导入模块: import locust [as 别名]
# 或者: from locust import task [as 别名]
def index(self):
self.client.get("/hello-world")
# @task(1)
# def about(self):
# self.client.get("/hello")
示例3: purchase_single_free_product
# 需要导入模块: import locust [as 别名]
# 或者: from locust import task [as 别名]
def purchase_single_free_product(self):
"""Simulate the purchase of a single free product via the LMS."""
# If a user tries to purchase the same product more than once, we'll get 409s from
# the LMS. To avoid this situation, we create a new user each time this task is called.
self.auto_auth()
post_data = {
'course_id': settings.data['ecommerce']['free_course_id'],
}
self.post('/api/commerce/v0/baskets/', data=json.dumps(post_data))
示例4: get_ecom_worker_client
# 需要导入模块: import locust [as 别名]
# 或者: from locust import task [as 别名]
def get_ecom_worker_client():
"""
Gets the ecommerce worker client
Using the oauth credentials in the settings file, this method
returns up the ecommerce work clients which enables a task to call
the api on behalf of the ecommerce worker.
Returns:
LocustEdxRestApiClient: The ecommerce worker client
"""
access_token_endpoint = '{}/oauth2/access_token'.format(
settings.secrets['oauth']['provider_url'].strip('/')
)
access_token, __ = LocustEdxRestApiClient.get_oauth_access_token(
access_token_endpoint,
settings.secrets['oauth']['client_id'],
settings.secrets['oauth']['client_secret'],
)
return LocustEdxRestApiClient(
ECOMMERCE_HOST,
session=HttpSession(base_url=ECOMMERCE_HOST),
oauth_access_token=access_token
)
示例5: patch_credential
# 需要导入模块: import locust [as 别名]
# 或者: from locust import task [as 别名]
def patch_credential(self):
""" Randomly picked the status for patching the credentials. In case of revoke status remove the
record from the deque. Otherwise during rendering task it will return 404.
"""
if not self._user_credentials:
return
credential_uuid = random.choice(self._user_credentials)
status = random.choice(['awarded', 'revoked'])
data = {'status': status}
if status == 'revoked':
self._user_credentials.remove(credential_uuid)
self.user_credential_client.credentials(credential_uuid).patch(data=data, name='/api/v2/credentials/[uuid]')
示例6: on_start
# 需要导入模块: import locust [as 别名]
# 或者: from locust import task [as 别名]
def on_start(self):
""" on_start is called when a Locust start before any task is scheduled """
self.url = "/predictions/fizbuz_package"
self.headers = {"Content-Type": "application/json"}
示例7: test_it_renders_a_locustfile_template
# 需要导入模块: import locust [as 别名]
# 或者: from locust import task [as 别名]
def test_it_renders_a_locustfile_template(self):
a_name = "some_task"
a_request = MagicMock(spec=Request)
a_request.method = HttpMethod.GET
a_request.url = MagicMock(spec=SplitResult)
a_request.url.scheme = "some_scheme"
a_request.url.hostname = "some_hostname"
a_request.url.path = "some_path"
a_request.url.geturl()
a_request.url.geturl.return_value = "some_url"
a_request.headers = {"a": "b"}
a_request.name = None
task = Task(a_name, a_request)
scenario = Scenario(name="SomeScenario", children=[task], origin=None)
scenario_group = Scenario(
name="ScenarioGroup", children=[scenario], weight=2, origin=None
)
script = locustfile([scenario_group])
expected = string.Template(
f"""
# File automatically generated by Transformer v{__version__}:
# https://github.com/zalando-incubator/Transformer
import re
from distutils.version import LooseVersion
from locust import __version__
LOCUST_MAJOR_VERSION = LooseVersion(__version__).version[0]
if LOCUST_MAJOR_VERSION >= 1:
from locust import HttpUser
from locust import SequentialTaskSet
from locust import TaskSet
from locust import task
HttpLocust = HttpUser
TaskSequence = SequentialTaskSet
def seq_task(_):
return task
else:
from locust import HttpLocust
from locust import TaskSequence
from locust import TaskSet
from locust import seq_task
from locust import task
class ScenarioGroup(TaskSet):
@task(1)
class SomeScenario(TaskSequence):
@seq_task(1)
def some_task(self):
response = self.client.get(url='some_url', name='some_url', timeout=$TIMEOUT, allow_redirects=False, headers={{'a': 'b'}})
class LocustForScenarioGroup(HttpLocust):
if LOCUST_MAJOR_VERSION >= 1:
tasks = [ScenarioGroup]
else:
task_set = ScenarioGroup
weight = 2
min_wait = 0
max_wait = 10
"""
).safe_substitute({"TIMEOUT": TIMEOUT})
assert expected.strip() == script.strip()