clean up proxyManager
This commit is contained in:
parent
da916222c1
commit
76d55fe35f
10 changed files with 38 additions and 438 deletions
|
|
@ -1,5 +1,12 @@
|
|||
/**
|
||||
* Proxy management utilities
|
||||
*/
|
||||
export { default as ProxyManager } from './proxy-manager';
|
||||
export {
|
||||
default as ProxyManager,
|
||||
getProxy,
|
||||
getRandomProxy,
|
||||
getAllProxies,
|
||||
getWorkingProxies,
|
||||
updateProxies
|
||||
} from './proxy-manager';
|
||||
export type { ProxyInfo } from '@stock-bot/http'; // Re-export for convenience
|
||||
|
|
@ -180,27 +180,6 @@ export class ProxyManager {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get proxy statistics
|
||||
*/
|
||||
getStats(): {
|
||||
totalProxies: number;
|
||||
workingProxies: number;
|
||||
lastUpdate: Date | null;
|
||||
successRate: number;
|
||||
} {
|
||||
const workingProxies = this.proxies.filter(p => p.isWorking !== false);
|
||||
const totalSuccessRate = this.proxies.reduce((sum, p) => sum + (p.successRate || 0), 0);
|
||||
const avgSuccessRate = this.proxies.length > 0 ? totalSuccessRate / this.proxies.length : 0;
|
||||
|
||||
return {
|
||||
totalProxies: this.proxies.length,
|
||||
workingProxies: workingProxies.length,
|
||||
lastUpdate: this.lastUpdate,
|
||||
successRate: avgSuccessRate,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Clear all proxies from memory and cache
|
||||
*/
|
||||
|
|
@ -274,4 +253,25 @@ export class ProxyManager {
|
|||
}
|
||||
|
||||
// Export the class as default
|
||||
export default ProxyManager;
|
||||
export default ProxyManager;
|
||||
|
||||
// Convenience functions for easier imports
|
||||
export function getProxy(): ProxyInfo | null {
|
||||
return ProxyManager.getInstance().getRandomProxy();
|
||||
}
|
||||
|
||||
export function getRandomProxy(): ProxyInfo | null {
|
||||
return ProxyManager.getInstance().getRandomProxy();
|
||||
}
|
||||
|
||||
export function getAllProxies(): ProxyInfo[] {
|
||||
return ProxyManager.getInstance().getAllProxies();
|
||||
}
|
||||
|
||||
export function getWorkingProxies(): ProxyInfo[] {
|
||||
return ProxyManager.getInstance().getWorkingProxies();
|
||||
}
|
||||
|
||||
export async function updateProxies(proxies: ProxyInfo[]): Promise<void> {
|
||||
return ProxyManager.getInstance().updateProxies(proxies);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue