
    6i                    >   d dl mZ d dlmZmZ d dlmZ d dlmZ d dl	Z
d dlZd dlZd dlmZmZmZ d dlmZmZmZmZ d dlmZ d dlmZ d d	lmZmZ d d
lmZ d dlmZ d dlmZmZ d dlmZm Z  d dl!m"Z" d dl#m$Z$ d dl%m&Z& d dlm'Z' ejP                  jS                  ejP                  jU                  ejP                  jU                  ejP                  jU                  ejP                  jU                  e+                                ejX                  d      dd       Z-y)    )annotations)date	timedelta)Celery)SessionN)datetimer   r   )OptionalDictListTuple)	dataclass)textand_)IntegrityError)
celery_app)SessionLocalengine)
DailySalesDemandForecast)Company)CompanyDemandForecaster)train_company_demand_model)get_db_sessionT)bindc                    	 t        |      }dd| |dS # t        $ r}dt        |      dcY d}~S d}~wt        $ r}ddt        |       dcY d}~S d}~ww xY w)z9
    Train demand forecast model for a given company
    Tz7Demand forecast model trained successfully for company )successmessage
model_pathF)r   errorNzError training model: )r   
ValueErrorstr	Exception)self
company_idr   es       M/var/www/html/hubwallet-dev/src/smart_inventory/tasks/demand_forecast_task.pytrain_demand_forecast_modelr'      ss    
N/
;
 PQ[P\]$
 	

  3 3q622 N -CCF8+LMMNs(    	A2AAAAA)r$   intreturnr
   ).
__future__r   r   r   r   celeryr   sqlalchemy.ormr   pandaspdossystypingr	   r
   r   r   dataclassesr   
sqlalchemyr   r   sqlalchemy.excr   src.utils.celery_workerr   src.utils.dbr   r   )src.smart_inventory.apps.inventory.modelsr   r   (src.smart_inventory.apps.products.modelsr   *src.smart_inventory.core.demand_forecasterr   'src.smart_inventory.core.train_pipeliner   r   pathappenddirname__file__taskr'        r&   <module>rB      s    " $  "  	 
 . . . . ! " ! ) . - P < N N ' PX@Y0Z [\ ] dN NrA   