ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

locust 使用队列进行参数化操作

2022-04-05 23:31:26  阅读:263  来源: 互联网

标签:queue 队列 self locust Queue 参数 timeout data


Queue是python标准库中的线程安全的队列(FIFO)实现,提供了一个适用于多线程编程的先进先出的数据结构,即队列,用来在生产者和消费者线程之间的信息传递

基本方法:

Queue.Queue(maxsize=0) FIFO,如果maxsize小于1就表示队列长度无限
Queue.LifoQueue(maxsize=0) LIFO,如果maxsize小于1就表示队列长度无限
Queue.qsize() 返回队列的大小
Queue.empty() 如果队列为空,返回True,反之False
Queue.full() 如果队列满了,返回True,反之False
Queue.get([block[,timeout]]) 读队列,timeout等待时间
Queue.put(item, [block[,timeout]]) 写队列,timeout等待时间
Queue.queue.clear() 清空队列

 

示例代码:

from locust import HttpUser, TaskSet, task
import os, queue, json


class MyTask(TaskSet):
@task
def ParamsTest(self):
self.data = {"skuId":123,"num":10}
try:
# 从队列头部获取一个值
#self.user 指向HttpUser
self.data["num"] = self.user.queue_data.get()
except queue.Empty:
print("队列中没有数据")
exit(1)
print(self.data)
response = self.client.post("/pinter/com/buy",data= self.data,name="PostParams")
print(response.text)
class WebsiteUser(HttpUser):
task = tasks = [MyTask]
host = "http://localhost:8088"
# 定义一个队列
queue_data = queue.Queue()
for i in range(1, 10):
queue_data.put_nowait("%d" % i)
max_wait = 4000
min_wait = 6000

标签:queue,队列,self,locust,Queue,参数,timeout,data
来源: https://www.cnblogs.com/blowwind/p/16104542.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有