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': _asInt(mainCount),
'delayed_jobs': _asInt(delayedCount),
'processing_jobs': _asInt(processingCount),
'failed_jobs': _asInt(failedCount),
'total_jobs': _asInt(mainCount) + _asInt(delayedCount),
},
};
} catch (e) {
return {...baseStats, 'error': e.toString()};
}
}