From d3d2429a74ee33cb42391cd6ea09acc2bcb71e68 Mon Sep 17 00:00:00 2001 From: MuslemRahimi Date: Wed, 15 Jan 2025 16:47:24 +0100 Subject: [PATCH] bugfixing --- app/cron_list.py | 40 ++++++++++++++++++++++------------------ app/primary_cron_job.py | 2 +- 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/app/cron_list.py b/app/cron_list.py index b098733..228e309 100644 --- a/app/cron_list.py +++ b/app/cron_list.py @@ -50,24 +50,27 @@ async def process_category(cursor, category, condition, category_type='market-ca res_list = [] for row in raw_data: - symbol = row[0] - quote_data = await get_quote_data(symbol) - if quote_data: - item = { - 'symbol': symbol, - 'name': row[1], - 'price': round(quote_data.get('price'), 2) if quote_data.get('price') is not None else None, - 'changesPercentage': round(quote_data.get('changesPercentage'), 2) if quote_data.get('changesPercentage') is not None else None, - 'marketCap': quote_data.get('marketCap', 0), - 'revenue': 0, - } - - # Add screener data if available - if symbol in stock_screener_data_dict: - item['revenue'] = stock_screener_data_dict[symbol].get('revenue',0) - - if item['marketCap'] > 0 and item['revenue'] > 0: - res_list.append(item) + try: + symbol = row[0] + quote_data = await get_quote_data(symbol) + if quote_data: + item = { + 'symbol': symbol, + 'name': row[1], + 'price': round(quote_data.get('price'), 2) if quote_data.get('price') is not None else None, + 'changesPercentage': round(quote_data.get('changesPercentage'), 2) if quote_data.get('changesPercentage') is not None else None, + 'marketCap': quote_data.get('marketCap', 0), + 'revenue': 0, + } + + # Add screener data if available + if symbol in stock_screener_data_dict: + item['revenue'] = stock_screener_data_dict[symbol].get('revenue',0) + + if item['marketCap'] > 0 and item['revenue'] > 0: + res_list.append(item) + except: + pass # Sort by market cap and save sorted_result = sorted(res_list, key=lambda x: x['marketCap'] if x['marketCap'] else 0, reverse=True) @@ -1176,6 +1179,7 @@ async def run(): #await asyncio.sleep(1) # Small delay between categories # Process sector categories + for category, condition in sector_conditions.items(): await process_category(cursor, category, condition, 'sector') #await asyncio.sleep(1) # Small delay between categories diff --git a/app/primary_cron_job.py b/app/primary_cron_job.py index 7c47a0b..b7ae165 100755 --- a/app/primary_cron_job.py +++ b/app/primary_cron_job.py @@ -376,7 +376,7 @@ schedule.every().day.at("09:30").do(run_threaded, run_profile).tag('profile_job' #schedule.every().day.at("10:30").do(run_threaded, run_sec_filings).tag('sec_filings_job') #schedule.every().day.at("11:00").do(run_threaded, run_executive).tag('executive_job') -schedule.every().day.at("12:00").do(run_threaded, run_market_cap).tag('market_cap_josb') +schedule.every().day.at("12:00").do(run_threaded, run_market_cap).tag('market_cap_job') #schedule.every().day.at("05:00").do(run_threaded, run_implied_volatility).tag('implied_volatility_job')