func QueueStats(c context.Context, queueNames []string) ([]QueueStatistics, error) {
	req := &pb.TaskQueueFetchQueueStatsRequest{
		QueueName: make([][]byte, len(queueNames)),
	}
	for i, q := range queueNames {
		if q == "" {
			q = "default"
		}
		req.QueueName[i] = []byte(q)
	}
	res := &pb.TaskQueueFetchQueueStatsResponse{}
	if err := internal.Call(c, "taskqueue", "FetchQueueStats", req, res); err != nil {
		return nil, err
	}
	qs := make([]QueueStatistics, len(res.Queuestats))
	for i, qsg := range res.Queuestats {
		qs[i] = QueueStatistics{
			Tasks: int(*qsg.NumTasks),
		}
		if eta := *qsg.OldestEtaUsec; eta > -1 {
			qs[i].OldestETA = time.Unix(0, eta*1e3)
		}
		if si := qsg.ScannerInfo; si != nil {
			qs[i].Executed1Minute = int(*si.ExecutedLastMinute)
			qs[i].InFlight = int(si.GetRequestsInFlight())
			qs[i].EnforcedRate = si.GetEnforcedRate()
		}
	}
	return qs, nil
}
func QueueStats(c context.Context, queueNames []string) ([]QueueStatistics, error) {
	req := &pb.TaskQueueFetchQueueStatsRequest{
		QueueName: make([][]byte, len(queueNames)),
	}
	for i, q := range queueNames {
		if q == "" {
			q = "default"
		}
		req.QueueName[i] = []byte(q)
	}
	res := &pb.TaskQueueFetchQueueStatsResponse{}
	if err := internal.Call(c, "taskqueue", "FetchQueueStats", req, res); err != nil {
		return nil, err
	}
	qs := make([]QueueStatistics, len(res.Queuestats))
	for i, qsg := range res.Queuestats {
		qs[i] = QueueStatistics{
			Tasks: int(*qsg.NumTasks),
		}
		if eta := *qsg.OldestEtaUsec; eta > -1 {
			qs[i].OldestETA = time.Unix(0, eta*1e3)
		}
		if si := qsg.ScannerInfo; si != nil {
			qs[i].Executed1Minute = int(*si.ExecutedLastMinute)
			qs[i].InFlight = int(si.GetRequestsInFlight())
			qs[i].EnforcedRate = si.GetEnforcedRate()
		}
	}
	return qs, nil
}
func QueueStats ( c context . Context , queueNames [ ] string ) ( [ ] QueueStatistics , error ) { req := & pb . TaskQueueFetchQueueStatsRequest { QueueName : make ( [ ] [ ] byte , len ( queueNames ) ) , } for i , q := range queueNames { if q == " " { q = " " } req . QueueName [ i ] = [ ] byte ( q ) } res := & pb . TaskQueueFetchQueueStatsResponse { } if err := internal . Call ( c , " " , " " , req , res ) ; err != nil { return nil , err } qs := make ( [ ] QueueStatistics , len ( res . Queuestats ) ) for i , qsg := range res . Queuestats { qs [ i ] = QueueStatistics { Tasks : int ( * qsg . NumTasks ) , } if eta := * qsg . OldestEtaUsec ; eta > - 1 { qs [ i ] . OldestETA = time . Unix ( 0 , eta * 1e3 ) } if si := qsg . ScannerInfo ; si != nil { qs [ i ] . Executed1Minute = int ( * si . ExecutedLastMinute ) qs [ i ] . InFlight = int ( si . GetRequestsInFlight ( ) ) qs [ i ] . EnforcedRate = si . GetEnforcedRate ( ) } } return qs , nil }
// QueueStats retrieves statistics about queues.
QueueStats retrieves statistics about queues .