From cde67db271572af9f85402d531917b0b716b694e Mon Sep 17 00:00:00 2001 From: Boki Date: Fri, 20 Jun 2025 22:16:13 -0400 Subject: [PATCH] fixed browser, made payload optional --- apps/data-service/src/index.ts | 3 +-- .../data-service/src/providers/exchange-sync.provider.ts | 1 - apps/data-service/src/providers/ib.provider.ts | 1 - apps/data-service/src/providers/proxy.provider.ts | 1 - apps/data-service/src/providers/qm.provider.ts | 2 -- apps/data-service/src/providers/webshare.provider.ts | 1 - libs/browser/src/browser.ts | 9 +++++++-- libs/queue/src/types.ts | 2 +- proxy-playwrite.ts | 2 +- 9 files changed, 10 insertions(+), 12 deletions(-) diff --git a/apps/data-service/src/index.ts b/apps/data-service/src/index.ts index f5f41f4..1b4b281 100644 --- a/apps/data-service/src/index.ts +++ b/apps/data-service/src/index.ts @@ -13,7 +13,6 @@ import { ProxyManager } from '@stock-bot/utils'; import { exchangeRoutes, healthRoutes, queueRoutes } from './routes'; const config = initializeConfig(); -console.log('Configuration loaded:', config); const serviceConfig = config.service; const databaseConfig = config.database; const queueConfig = config.queue; @@ -252,7 +251,7 @@ shutdown.onShutdown(async () => { logger.info('Shutting down loggers...'); await shutdownLoggers(); // Don't log after shutdown - } catch (error) { + } catch { // Silently ignore logger shutdown errors } }); diff --git a/apps/data-service/src/providers/exchange-sync.provider.ts b/apps/data-service/src/providers/exchange-sync.provider.ts index 8115d30..fc60d80 100644 --- a/apps/data-service/src/providers/exchange-sync.provider.ts +++ b/apps/data-service/src/providers/exchange-sync.provider.ts @@ -32,7 +32,6 @@ export function initializeExchangeSyncProvider() { { type: 'exchange-sync-daily', operation: 'sync-ib-exchanges', - payload: {}, cronPattern: '0 3 * * *', // Daily at 3 AM priority: 3, description: 'Daily sync of IB exchanges to master table', diff --git a/apps/data-service/src/providers/ib.provider.ts b/apps/data-service/src/providers/ib.provider.ts index dd4b331..fd47e14 100644 --- a/apps/data-service/src/providers/ib.provider.ts +++ b/apps/data-service/src/providers/ib.provider.ts @@ -72,7 +72,6 @@ export function initializeIBProvider() { { type: 'ib-exchanges-and-symbols', operation: 'ib-exchanges-and-symbols', - payload: {}, cronPattern: '0 0 * * 0', // Every Sunday at midnight priority: 5, description: 'Fetch and update IB exchanges and symbols data', diff --git a/apps/data-service/src/providers/proxy.provider.ts b/apps/data-service/src/providers/proxy.provider.ts index de931ea..289ce82 100644 --- a/apps/data-service/src/providers/proxy.provider.ts +++ b/apps/data-service/src/providers/proxy.provider.ts @@ -73,7 +73,6 @@ export function initializeProxyProvider() { { type: 'proxy-fetch-and-check', operation: 'fetch-from-sources', - payload: {}, cronPattern: '0 0 * * 0', // Every week at midnight on Sunday priority: 0, description: 'Fetch and validate proxy list from sources', diff --git a/apps/data-service/src/providers/qm.provider.ts b/apps/data-service/src/providers/qm.provider.ts index 3a106c2..72d373e 100644 --- a/apps/data-service/src/providers/qm.provider.ts +++ b/apps/data-service/src/providers/qm.provider.ts @@ -62,7 +62,6 @@ export function initializeQMProvider() { { type: 'session-management', operation: 'create-sessions', - payload: {}, cronPattern: '*/15 * * * * *', // Every minute priority: 7, immediately: true, @@ -71,7 +70,6 @@ export function initializeQMProvider() { { type: 'qm-maintnance', operation: 'spider-symbol-search', - payload: {}, cronPattern: '0 0 * * 0', // Every minute priority: 10, description: 'Comprehensive symbol search using QM API', diff --git a/apps/data-service/src/providers/webshare.provider.ts b/apps/data-service/src/providers/webshare.provider.ts index 5f8cfb1..09d1dad 100644 --- a/apps/data-service/src/providers/webshare.provider.ts +++ b/apps/data-service/src/providers/webshare.provider.ts @@ -63,7 +63,6 @@ export function initializeWebShareProvider() { { type: 'webshare-fetch', operation: 'fetch-proxies', - payload: {}, cronPattern: '0 */6 * * *', // Every 6 hours priority: 3, description: 'Fetch fresh proxies from WebShare API', diff --git a/libs/browser/src/browser.ts b/libs/browser/src/browser.ts index d6f472f..bc7597c 100644 --- a/libs/browser/src/browser.ts +++ b/libs/browser/src/browser.ts @@ -171,10 +171,15 @@ class BrowserSingleton { if (proxy) { const [protocol, rest] = proxy.split('://'); + if (!rest) { + throw new Error('Invalid proxy format. Expected protocol://host:port or protocol://user:pass@host:port'); + } + const [auth, hostPort] = rest.includes('@') ? rest.split('@') : [null, rest]; - const [host, port] = hostPort.split(':'); + const finalHostPort = hostPort || rest; + const [host, port] = finalHostPort.split(':'); - contextOptions.proxy = { + contextOptions['proxy'] = { server: `${protocol}://${host}:${port}`, username: auth?.split(':')[0] || '', password: auth?.split(':')[1] || '', diff --git a/libs/queue/src/types.ts b/libs/queue/src/types.ts index 2309851..0801fd0 100644 --- a/libs/queue/src/types.ts +++ b/libs/queue/src/types.ts @@ -119,7 +119,7 @@ export function createJobHandler( export interface ScheduledJob { type: string; operation: string; - payload: T; + payload?: T; cronPattern: string; priority?: number; description?: string; diff --git a/proxy-playwrite.ts b/proxy-playwrite.ts index 37efe0e..73be73b 100644 --- a/proxy-playwrite.ts +++ b/proxy-playwrite.ts @@ -70,7 +70,7 @@ async function testProxyBrowser() { console.error('❌ Proxy browser test failed:', { error }); } finally { try { - // await Browser.cleanup(); + await Browser.close(); console.log('🧹 Browser cleanup completed'); } catch (cleanupError) { console.error('Failed to cleanup browser:', { error: cleanupError });