# from celery_worker import celery | |
# from core.database import SessionLocal | |
# from models.analysis_job import AnalysisJob | |
# from tools.data_tools import get_stock_data | |
# from uuid import UUID | |
# @celery.task | |
# def run_data_analysis(job_id: str, ticker: str): | |
# db = SessionLocal() | |
# job = None | |
# final_result = "" | |
# try: | |
# job = db.query(AnalysisJob).filter(AnalysisJob.id == UUID(job_id)).first() | |
# if not job: | |
# raise ValueError(f"Job {job_id} not found in database.") | |
# print(f"Status - DATA_FETCHING for job {job_id}...") | |
# job.status = "DATA_FETCHING" | |
# db.commit() | |
# data = get_stock_data(ticker) | |
# if "error" in data: | |
# raise ValueError(data["error"]) | |
# job.result = data | |
# db.commit() | |
# print(f"Data analysis for job {job_id} completed successfully.") | |
# final_result = str(job.result) | |
# except Exception as e: | |
# print(f"Error during data analysis for job {job_id}: {e}") | |
# if job: | |
# job.status = "FAILED" | |
# job.result = {"error": f"Data analysis failed: {str(e)}"} | |
# db.commit() | |
# final_result = f"Error: {e}" | |
# finally: | |
# db.close() | |
# return final_result | |
# from celery_worker import celery | |
# from core.database import SessionLocal | |
# from models.analysis_job import AnalysisJob | |
# from tools.data_tools import get_stock_data | |
# from uuid import UUID | |
# @celery.task | |
# def run_data_analysis(job_id: str, ticker: str): | |
# with SessionLocal() as db: | |
# job = db.query(AnalysisJob).filter(AnalysisJob.id == UUID(job_id)).first() | |
# if not job: | |
# print(f"Job {job_id} not found.") | |
# return | |
# try: | |
# job.status = "DATA_FETCHING" | |
# db.commit() | |
# data = get_stock_data(ticker) | |
# if "error" in data: | |
# raise ValueError(data["error"]) | |
# job.result = data | |
# db.commit() | |
# print(f"Data analysis for job {job_id} completed successfully.") | |
# return "Data fetching successful." | |
# except Exception as e: | |
# print(f"Error during data analysis for job {job_id}: {e}") | |
# job.status = "FAILED" | |
# job.result = {"error": f"Data analysis failed: {str(e)}"} | |
# db.commit() | |
# return f"Data fetching failed: {e}" | |
from celery_worker import celery | |
from tools.data_tools import get_stock_data | |
def get_data_task(ticker: str): | |
print(f"Executing get_data_task for {ticker}...") | |
return get_stock_data(ticker) |