mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2025-07-14 01:41:24 -06:00
chore: Update monitor service and instance controller
Refactored the instance controller and monitor service to improve the connection handling and management of WhatsApp instances. - Modified the instance controller to close the WebSocket connection and restart the instance instead of reloading it. - Updated the monitor service to remove the instance from the `waInstances` object and emit an event to clean up and remove the instance data. - Fixed an issue where the instance was not being removed from the `waInstances` object. Files affected: - CHANGELOG.md - src/api/controllers/instance.controller.ts - src/api/services/monitor.service.ts
This commit is contained in:
parent
95bc5e6b21
commit
66814b403e
@ -1,8 +1,8 @@
|
||||
# 2.0.4-beta (beta)
|
||||
# 2.0.4-rc (release candidate)
|
||||
|
||||
### Features
|
||||
|
||||
* New manager v2.0.0
|
||||
* New manager v2.0
|
||||
|
||||
### Fixed
|
||||
|
||||
|
@ -594,11 +594,11 @@ export class InstanceController {
|
||||
switch (state) {
|
||||
case 'open':
|
||||
if (this.configService.get<Chatwoot>('CHATWOOT').ENABLED) instance.clearCacheChatwoot();
|
||||
// await instance.reloadConnection();
|
||||
await instance.client?.ws?.close();
|
||||
await delay(2000);
|
||||
|
||||
return await this.connectionState({ instanceName });
|
||||
this.logger.info('Connection closed, restarting instance' + instanceName);
|
||||
instance.client?.ws?.close();
|
||||
instance.client?.end(new Error('restart'));
|
||||
return await this.connectToWhatsapp({ instanceName });
|
||||
default:
|
||||
return await this.connectionState({ instanceName });
|
||||
}
|
||||
@ -690,7 +690,6 @@ export class InstanceController {
|
||||
this.logger.error(error);
|
||||
}
|
||||
|
||||
delete this.waMonitor.waInstances[instanceName];
|
||||
this.eventEmitter.emit('remove.instance', instanceName, 'inner');
|
||||
return { status: 'SUCCESS', error: false, response: { message: 'Instance deleted' } };
|
||||
} catch (error) {
|
||||
|
@ -336,18 +336,18 @@ export class WAMonitoringService {
|
||||
|
||||
private removeInstance() {
|
||||
this.eventEmitter.on('remove.instance', async (instanceName: string) => {
|
||||
try {
|
||||
this.waInstances[instanceName] = undefined;
|
||||
} catch (error) {
|
||||
this.logger.error(error);
|
||||
}
|
||||
|
||||
try {
|
||||
this.cleaningUp(instanceName);
|
||||
this.cleaningStoreData(instanceName);
|
||||
} finally {
|
||||
this.logger.warn(`Instance "${instanceName}" - REMOVED`);
|
||||
}
|
||||
|
||||
try {
|
||||
delete this.waInstances[instanceName];
|
||||
} catch (error) {
|
||||
this.logger.error(error);
|
||||
}
|
||||
});
|
||||
this.eventEmitter.on('logout.instance', async (instanceName: string) => {
|
||||
try {
|
||||
|
Loading…
Reference in New Issue
Block a user