ifieryarrows commited on
Commit
e125b13
·
verified ·
1 Parent(s): b8a1997

Sync from GitHub (tests passed)

Browse files
Files changed (1) hide show
  1. worker/tasks.py +16 -2
worker/tasks.py CHANGED
@@ -459,6 +459,7 @@ async def _execute_pipeline_stages_v2(
459
  # Stage 5: Generate snapshot
460
  # -------------------------------------------------------------------------
461
  logger.info(f"[run_id={run_id}] Stage 5: Generate snapshot")
 
462
  try:
463
  from app.inference import generate_analysis_report, save_analysis_snapshot
464
 
@@ -475,6 +476,7 @@ async def _execute_pipeline_stages_v2(
475
  session.commit()
476
 
477
  result["snapshot_generated"] = True
 
478
  update_run_metrics(session, run_id, snapshot_generated=True)
479
  session.commit()
480
  else:
@@ -489,12 +491,24 @@ async def _execute_pipeline_stages_v2(
489
  # -------------------------------------------------------------------------
490
  # Stage 6: Generate commentary (only if snapshot was generated)
491
  # -------------------------------------------------------------------------
492
- if result.get("snapshot_generated"):
493
  logger.info(f"[run_id={run_id}] Stage 6: Generate commentary")
494
  try:
 
495
  from app.commentary import generate_and_save_commentary
496
 
497
- generate_and_save_commentary(session, "HG=F")
 
 
 
 
 
 
 
 
 
 
 
498
  session.commit()
499
 
500
  result["commentary_generated"] = True
 
459
  # Stage 5: Generate snapshot
460
  # -------------------------------------------------------------------------
461
  logger.info(f"[run_id={run_id}] Stage 5: Generate snapshot")
462
+ snapshot_report = None # Will be used by Stage 6
463
  try:
464
  from app.inference import generate_analysis_report, save_analysis_snapshot
465
 
 
476
  session.commit()
477
 
478
  result["snapshot_generated"] = True
479
+ snapshot_report = report # Save for Stage 6
480
  update_run_metrics(session, run_id, snapshot_generated=True)
481
  session.commit()
482
  else:
 
491
  # -------------------------------------------------------------------------
492
  # Stage 6: Generate commentary (only if snapshot was generated)
493
  # -------------------------------------------------------------------------
494
+ if result.get("snapshot_generated") and snapshot_report:
495
  logger.info(f"[run_id={run_id}] Stage 6: Generate commentary")
496
  try:
497
+ import asyncio
498
  from app.commentary import generate_and_save_commentary
499
 
500
+ # Extract required fields from snapshot
501
+ asyncio.run(generate_and_save_commentary(
502
+ session=session,
503
+ symbol="HG=F",
504
+ current_price=snapshot_report.get("current_price", 0.0),
505
+ predicted_price=snapshot_report.get("predicted_price", 0.0),
506
+ predicted_return=snapshot_report.get("predicted_return", 0.0),
507
+ sentiment_index=snapshot_report.get("sentiment_index", 0.0),
508
+ sentiment_label=snapshot_report.get("sentiment_label", "Neutral"),
509
+ top_influencers=snapshot_report.get("top_influencers", []),
510
+ news_count=snapshot_report.get("data_quality", {}).get("news_count_7d", 0),
511
+ ))
512
  session.commit()
513
 
514
  result["commentary_generated"] = True