class_docstr: Method of encapsulating utility files 
class_docstr_tok: ["Method","of","encapsulating","utility","files"]
code: def list_all_bulk_insert_tasks(self, limit=0):
      tasks, _ = self.list_bulk_insert_tasks(limit=limit)
      pending = 0
      started = 0
      persisted = 0
      completed = 0
      failed = 0
      failed_and_cleaned = 0
      unknown = 0
      for task in tasks:
          print(task)
          if task.state == BulkInsertState.ImportPending:
              pending = pending + 1
          elif task.state == BulkInsertState.ImportStarted:
              started = started + 1
          elif task.state == BulkInsertState.ImportPersisted:
              persisted = persisted + 1
          elif task.state == BulkInsertState.ImportCompleted:
              completed = completed + 1
          elif task.state == BulkInsertState.ImportFailed:
              failed = failed + 1
          elif task.state == BulkInsertState.ImportFailedAndCleaned:
              failed_and_cleaned = failed_and_cleaned + 1
          else:
              unknown = unknown + 1
  
      log.info(
          "There are",
          len(tasks),
          "bulkload tasks.",
          pending,
          "pending,",
          started,
          "started,",
          persisted,
          "persisted,",
          completed,
          "completed,",
          failed,
          "failed",
          failed_and_cleaned,
          "failed_and_cleaned",
          unknown,
          "unknown",
      )
  
imports: from datetime import datetime
  import time
  from pymilvus import utility
  import sys
  from check.func_check import ResponseChecker
  from utils.api_request import api_request
  from pymilvus import BulkInsertState
  from pymilvus.orm.role import Role
  from utils.util_log import test_log
label_desc: Use image node_id 6 for calling the ApiUtilityWrapper obj's underlying member method code with example usage: obj.list_all_bulk_insert_tasks(limit) without return types