getStats method
Get driver statistics
Implementation
@override
Future<Map<String, dynamic>> getStats() async {
final baseStats = await super.getStats();
try {
final command = await _getConnection();
final mainCount = await command.send_object(['LLEN', _mainQueue]);
final delayedCount = await command.send_object(['ZCARD', _delayedQueue]);
final processingCount =
await command.send_object(['HLEN', _processingHash]);
final failedCount = await command.send_object(['LLEN', _failedQueue]);
return {
...baseStats,
'connection': {
'host': host,
'port': port,
'is_connected': _isConnected,
'queue_name': queueName,
},
'queue': {
'main_jobs': mainCount ?? 0,
'delayed_jobs': delayedCount ?? 0,
'processing_jobs': processingCount ?? 0,
'failed_jobs': failedCount ?? 0,
'total_jobs': (mainCount ?? 0) + (delayedCount ?? 0),
},
};
} catch (e) {
return {
...baseStats,
'error': e.toString(),
};
}
}