3340
// DescribeTaskQueue returns information about the target taskqueue, right now this API returns the
3341
// pollers which polled this taskqueue in last few minutes.
3342
>
func (wh *WorkflowHandler) DescribeTaskQueue(ctx context.Context, request *workflowservice.DescribeTaskQueueRequest) (_ *workflowservice.DescribeTaskQueueResponse, retError error) {
workflow_handler.go
3343
>
defer log.CapturePanic(wh.logger, &retError)
3344
>
3345
>
if request == nil {
3346
return nil, errRequestNotSet
3347
}
3348
3350
>
namespaceID, err := wh.namespaceRegistry.GetNamespaceID(namespaceName)
3351
>
if err != nil {
3352
return nil, err
3353
}
3354
3355
>
if request.ApiMode == enumspb.DESCRIBE_TASK_QUEUE_MODE_UNSPECIFIED {
workflow_handler.go
3356
>
err = tqid.NormalizeAndValidatePartition(request.TaskQueue, "", wh.config.MaxIDLengthLimit())
3357
>
} else {
3358
err = tqid.NormalizeAndValidate(request.TaskQueue, "", wh.config.MaxIDLengthLimit())
3359
}
3361
return nil, err
3362
}
3363
3364
>
if request.TaskQueueType == enumspb.TASK_QUEUE_TYPE_UNSPECIFIED || request.ApiMode == enumspb.DESCRIBE_TASK_QUEUE_MODE_ENHANCED {
workflow_handler.go
3365
request.TaskQueueType = enumspb.TASK_QUEUE_TYPE_WORKFLOW
3366
}
3367
3369
>
request.TaskQueueTypes = []enumspb.TaskQueueType{enumspb.TASK_QUEUE_TYPE_WORKFLOW, enumspb.TASK_QUEUE_TYPE_ACTIVITY}
3370
>
}
3371
3373
>
len(request.GetVersions().GetBuildIds()) > wh.config.ReachabilityQueryBuildIdLimit() {
3374
return nil, serviceerror.NewInvalidArgumentf(
3375
"Too many build ids queried at once with ReportTaskReachability==true, limit: %d", wh.config.ReachabilityQueryBuildIdLimit())
3376
}
3377
3379
if request.TaskQueue.Kind == enumspb.TASK_QUEUE_KIND_STICKY {
3380
return nil, errUseEnhancedDescribeOnStickyQueue