如何在 GCP 云任务中获取任务计数

How to get task count in GCP cloud task

是否有任何标准方法来获取队列的云任务计数?

我知道我们可以遍历 nextPageToken 并实现这一点。

这可以通过单个请求实现吗?

通过查看文档,QueueStats 似乎是获取任务计数的标准方法。

如@Sameer 评论中所述,cloudtask v2beta3 具有请求队列统计信息的功能:

public long geQueueDepth(String queuePath) {
        long depth=-1;

       try {
           FieldMask.Builder fieldBuilder = FieldMask.newBuilder();
           fieldBuilder.addPaths("stats");
           com.google.cloud.tasks.v2beta3.GetQueueRequest queueRequest =
                   com.google.cloud.tasks.v2beta3.GetQueueRequest.newBuilder().setName(queuePath).setReadMask(fieldBuilder).build();;
           com.google.cloud.tasks.v2beta3.Queue queue = cloudTasksClientV3.getQueue(queueRequest);
           depth=queue.getStats().getTasksCount();
          
       }catch (Exception e){
           LOGGER.error("Error while getting queue depth =>{}",e.getMessage());
       }
        return depth;
    }