Add forecasting demand insights trigger + fix RabbitMQ cleanup
Issue 1: Forecasting demand insights not triggered in demo workflow - Created internal ML endpoint: /forecasting/internal/ml/generate-demand-insights - Added trigger_demand_insights_internal() to ForecastServiceClient - Integrated forecasting insights into demo session post-clone workflow - Now triggers 4 AI insight types: price, safety stock, yield, + demand Issue 2: RabbitMQ client cleanup error in procurement service - Fixed: rabbitmq_client.close() → rabbitmq_client.disconnect() - Added proper cleanup in exception handler - Error: "'RabbitMQClient' object has no attribute 'close'" Files modified: - services/forecasting/app/api/ml_insights.py (new internal_router) - services/forecasting/app/main.py (register internal router) - shared/clients/forecast_client.py (new trigger method) - services/demo_session/app/services/clone_orchestrator.py (+ demand insights) - services/procurement/app/api/internal_demo.py (fix disconnect) Expected impact: - Demo sessions will now generate demand forecasting insights - No more RabbitMQ cleanup errors in logs - AI insights count should increase from 1 to 2-3 per session 🤖 Generated with Claude Code Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -171,7 +171,7 @@ async def _emit_po_approval_alerts_for_demo(
|
||||
# Continue with other POs
|
||||
|
||||
# Close RabbitMQ connection
|
||||
await rabbitmq_client.close()
|
||||
await rabbitmq_client.disconnect()
|
||||
|
||||
logger.info(
|
||||
"PO approval alerts emission completed",
|
||||
@@ -188,7 +188,12 @@ async def _emit_po_approval_alerts_for_demo(
|
||||
virtual_tenant_id=str(virtual_tenant_id),
|
||||
exc_info=True
|
||||
)
|
||||
# Don't fail the cloning process
|
||||
# Don't fail the cloning process - ensure we try to disconnect if connected
|
||||
try:
|
||||
if 'rabbitmq_client' in locals():
|
||||
await rabbitmq_client.disconnect()
|
||||
except:
|
||||
pass # Suppress cleanup errors
|
||||
return alerts_emitted
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user