renaming services to more suitable names
This commit is contained in:
parent
3ae9de8376
commit
be6afef832
69 changed files with 41 additions and 2956 deletions
|
|
@ -1,56 +0,0 @@
|
|||
/**
|
||||
* Proxy Stats Manager - Singleton for managing proxy statistics
|
||||
*/
|
||||
import type { ProxySource } from './types';
|
||||
import { PROXY_CONFIG } from './config';
|
||||
|
||||
export class ProxyStatsManager {
|
||||
private static instance: ProxyStatsManager | null = null;
|
||||
private proxyStats: ProxySource[] = [];
|
||||
|
||||
private constructor() {
|
||||
this.resetStats();
|
||||
}
|
||||
|
||||
static getInstance(): ProxyStatsManager {
|
||||
if (!ProxyStatsManager.instance) {
|
||||
ProxyStatsManager.instance = new ProxyStatsManager();
|
||||
}
|
||||
return ProxyStatsManager.instance;
|
||||
}
|
||||
|
||||
resetStats(): void {
|
||||
this.proxyStats = PROXY_CONFIG.PROXY_SOURCES.map(source => ({
|
||||
id: source.id,
|
||||
total: 0,
|
||||
working: 0,
|
||||
lastChecked: new Date(),
|
||||
protocol: source.protocol,
|
||||
url: source.url,
|
||||
}));
|
||||
}
|
||||
|
||||
getStats(): ProxySource[] {
|
||||
return [...this.proxyStats];
|
||||
}
|
||||
|
||||
updateSourceStats(sourceId: string, success: boolean): ProxySource | undefined {
|
||||
const source = this.proxyStats.find(s => s.id === sourceId);
|
||||
if (source) {
|
||||
if (typeof source.working !== 'number') {
|
||||
source.working = 0;
|
||||
}
|
||||
if (typeof source.total !== 'number') {
|
||||
source.total = 0;
|
||||
}
|
||||
source.total += 1;
|
||||
if (success) {
|
||||
source.working += 1;
|
||||
}
|
||||
source.percentWorking = (source.working / source.total) * 100;
|
||||
source.lastChecked = new Date();
|
||||
return source;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue