xaba_task

package
v0.0.0-...-ce26905 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 14, 2020 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Copyright 2014 hey Author. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2014 hey Author. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewManager

func NewManager(t task.Task) task.WorkManager

Run makes all the requests, prints the summary. It blocks until all work is done.

Types

type Manager

type Manager struct {
	// Writer is where results will be written. If nil, results are written to stdout.
	Writer io.Writer
}

func (*Manager) CreateWork

func (this *Manager) CreateWork() task.Work

func (*Manager) Finish

func (this *Manager) Finish(task task.Task)

type Work

type Work struct {
	work.MqttWork
	// contains filtered or unexported fields
}

* Work 代表一个协程内具体执行任务工作者

func NewWork

func NewWork(manager *Manager) *Work

func (*Work) Close

func (this *Work) Close(t task.Task)

func (*Work) Init

func (this *Work) Init(t task.Task)

func (*Work) RunWorker

func (this *Work) RunWorker(t task.Task)

* 每一次请求都会调用该函数,在该函数内实现具体请求操作

task:=task.Task{
		N:1000,	//一共请求次数,会被平均分配给每一个并发协程
		C:100,		//并发数
		//QPS:10,		//每一个并发平均每秒请求次数(限流) 不填代表不限流
}

N/C 可计算出每一个Work(协程) RunWorker将要调用的次数

func (*Work) UnmarshalResult

func (this *Work) UnmarshalResult(payload []byte) map[string]interface{}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL