emergencyShutdown method
Future<void>
emergencyShutdown(
)
Implementation
Future<void> emergencyShutdown() async {
_logger.warning('Emergency shutdown initiated');
_isShuttingDown = true;
try {
for (var phase in ShutdownPhase.values) {
final criticalHooks = _hooks[phase]!.where((h) => h.critical);
for (final hook in criticalHooks) {
try {
await hook.execute().timeout(const Duration(seconds: 1));
} catch (e) {
_logger.severe(
'Critical hook ${hook.name} failed during emergency shutdown',
e);
}
}
}
} finally {
_isShutdown = true;
await _shutdownController.close();
}
}