getStatsByPriority method

Map<String, dynamic> getStatsByPriority()

Get queue statistics by priority

Implementation

Map<String, dynamic> getStatsByPriority() {
  final stats = <String, int>{};

  for (final priority in JobPriority.values) {
    stats[priority.name] = 0;
  }

  for (final job in _queue.toList()) {
    stats[job.priority.name] = (stats[job.priority.name] ?? 0) + 1;
  }

  return {
    'total': _queue.length,
    'byPriority': stats,
    'nextJob': _queue.peek()?.toJson(),
  };
}