B
    gS	                 @   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 d 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 8/var/www/html/DAI27/Adtlas_DAI/DAIManagementApp/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   r   r   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 d 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g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    
	
r1   )celeryr   timer   viewsr   concurrent.futuresr   modelsr   utilsr   r	   pytzr    r1   r   r   r   r   <module>   s   