boyinfuture's picture
feat: Build complete application with all features
c3bf538
raw
history blame
2.68 kB
# 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
@celery.task
def get_data_task(ticker: str):
print(f"Executing get_data_task for {ticker}...")
return get_stock_data(ticker)