
    08i                         d dl 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  e j                  e      Z e       Zd Zy)	    N)BackgroundScheduler)CronTrigger)datetime	timedelta)get_db_session)
CronJobLog)compute_daily_salesc                      t         j                  ryd } t         j                  | t        dd      dd       t         j	                          t
        j                  d	       y)
zKDaily sales computation cron - runs at 1:00 AM to compute yesterday's salesNc                  >   t               } 	 t        j                         t        d      z
  j	                  d      }t        ddt        j                               }| j                  |       | j                          t        j                  |      }|j                  |_        | j                          t        j                  d|        | j#                          y # t        $ r"}t        j!                  d|        Y d }~7d }~ww xY w# | j#                          w xY w)	N   )daysz%Y-%m-%ddaily_salesstarted)	task_typestatus
started_atz%Daily sales cron triggered for date: zDaily sales cron error: )r   r   nowr   strftimer   utcnowaddcommitr	   delayidtask_idloggerinfo	Exceptionerrorclose)db	yesterdaycron_logtaskes        H/var/www/html/hubwallet-dev/src/smart_inventory/jobs/daily_sales_cron.pyjobzdaily_sales_cron.<locals>.job   s    	!)*;;EEjQI!' #??,H
 FF8IIK ',,Y7D#wwHIIKKK?	{KL
 HHJ  	9LL3A3788	9 HHJs*   B?C 	D%D=D
 DD
 
Dr   r   )hourminuter   T)r   replace_existingzGDaily sales cron started - runs at 1:00 AM to compute yesterday's sales)	schedulerrunningadd_jobr   startr   r   )r&   s    r%   daily_sales_cronr.      sK    4 c;Aa8]]abOO
KKYZ    )logging!apscheduler.schedulers.backgroundr   apscheduler.triggers.cronr   r   r   src.utils.dbr   #src.smart_inventory.jobs.cron_modelr   *src.smart_inventory.tasks.daily_sales_taskr	   	getLogger__name__r   r*   r.    r/   r%   <module>r9      s:     A 1 ( ' : J			8	$!	![r/   