         finished_tasks: parseInt(statistics.finished) or 0
         average_pending_time: Math.round(statistics.total_pending_time * 100 / statistics.finished) / 100
         average_process_time: Math.round(statistics.total_process_time * 100 / statistics.finished) / 100
-        blocked: {}
+        blocked:
+          groups: multi_res[4].length
         processing_tasks: multi_res[2]
         failed_tasks: multi_res[3]
         workers: multi_res[5]


      # Calculate blocked and pending tasks:
      # 
      #   1. Set `blocked.groups` of result.
      #   2. Initiate another transaction to count all `BLOCKED` tasks. Blocked
      #   tasks are tasks in the `QUEUED` lists whose group identifiers are in
      #   the `BLOCKED` set. **Note:** The leftmost task of each `QUEUED` list
      #   will not be counted, since that's the causing (failed) task.
      #   3. Calculate pending tasks.
      #
      # The equation used to calculate pending tasks is:
      #
      #      pending = total - finished - processing - failed - blocked
      result.blocked.groups = multi_res[4].length
      multi2 = @redis.multi()
      multi2.llen "#{@key('QUEUED')}:#{group}" for group in multi_res[4]
      multi2.exec (multi2_err, multi2_res) ->

  #         pending_tasks: 0 }
  #
  # If there're no finished tasks, `average_pending_time` and
  # `average_process_time` will both be string `-`.
  #
  # **Usage:**
  #
