U
    [hS	                     @   s   d dl mZ d dlmZ d dlZddlmZ d dlmZ ddlm	Z	 ddl
mZ d d	lmZ d dlZed
ddd Zedddd ZdS )    )shared_task)sleepN   )vast_handling)ThreadPoolExecutor)VastResponse)vast_update_requests)datetimez	Call VAST)namec              	      sl   t d t d dditdd@  fddtd	|d	 D }d
d |D }t | W 5 Q R X d S )NzReveived Task!......zCall VAST...!z
User-AgentzeMozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36d   max_workersc              
      s"   g | ]} j t|d qS ))headersparamscall_numspot)submitr   ).0iexecutorr   r   r   url */var/www/html/Focus/src/apps/vast/tasks.py
<listcomp>   s     zcall_vast.<locals>.<listcomp>r   c                 S   s   g | ]}|  qS r   )result)r   futurer   r   r   r      s     )printr   range)r   num_requestsr   r   futuresresponser   r   r   	call_vast   s     $r"   zupdate vastc               	      sv   t d ddlm}  t }|d}tjj|d| d d| d dB }t	dd	  fd
d|D }W 5 Q R X d S )NzVast Update....r   )Qz%Y-%m-%d)datetime_timestamp__icontains)impression_sprintserve_status)impression_double_click_statusr   r   c                    s.   i | ]&}|j |jfD ]} t|||qqS r   )impression_sprintserveimpression_double_clickr   r   )r   replyr   r   r   r   
<dictcomp>7   s      zupdate_vast.<locals>.<dictcomp>)
r   django.db.modelsr#   r	   nowstrftimer   objectsfilterr   )r#   current_datetimereport_dateverify_repliesr    r   r*   r   update_vast   s    


r4   )celeryr   timer   viewsr   concurrent.futuresr   modelsr   utilsr   r	   pytzr"   r4   r   r   r   r   <module>   s   
