
    0i              	       >   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	m
Z
 dZdZdZd	ZdZej                   j#                  e
      j%                  dd      j'                  d      Zerej#                  d      Zer&ej#                  ej*                  j,                        Z ed       ej1                  ddd      j3                   ed            j'                  d      D ]
  Z ee        ej7                         Z eeeeeed       esed k(  reg Zg Zd Z d a!d a"d Z#d a$d Z%ejM                  e      D ]V  Z' e	e'      Zee#dz  Z#ejQ                  e       ejQ                  e'jR                         e dz  Z  e*e      ek\  sP e%        X  e%         eee tB        tD        e#tH        d        ed       ej                   j#                  ed      Z+e+j1                  ddd      j3                   ed            j'                  d      D ]
  Z ee        y)    )Count)timezone)AdCreativeData)UpdateStatus)build_ad_creative_rowpush_ad_creatives_to_clickhousez$0a61564f-6d44-4f04-946a-30575a6c2590TFi  )
account_idaccountcreativead_id)ch_pushed_at__isnull)sync_statuszTarget rows by status:account__ad_account_namer	   r   id)count)r	   selectedonly_ch_pushed_at_nullonly_success_rowsdry_runc                     t         sy t        t               } t        | z  a| rqt        j                  j                  t              j                  t        j                               }t        |z  a
t        dt        t                d|  d|        n2t        t        t               z  at        dt        t                d       t         j                          t        j                          y )N)id__in)ch_pushed_atzPushed batch rows=z
 inserted=z marked=z3WARNING: ClickHouse push returned 0 for batch size=z; not marking pushed)batchr   total_insertedr   objectsfilter	batch_idsupdater   nowtotal_markedprintlentotal_failedclear)insertedmarkeds     6/tmp/push_grey_mackenzie_ad_creatives_to_clickhouse.pyflush_batchr(   B   s    .u5HhN''..i.@GGU]UaUaUcGd"3u:,j
(6(STE
"CCJ<Ocde	KKMOO    )
chunk_sizeN   )r   
rows_builtr%   marked_ch_pushed_atskipped_no_rowfailed_not_markedz&Remaining ch_pushed_at NULL by status:)r	   r   ),django.db.modelsr   django.utilsr   creative_module.modelsr   creative_module.typesr   .data_pipeline_module.services.ad_creative_syncr   r   
ACCOUNT_IDONLY_CH_PUSHED_AT_NULLONLY_SUCCESS_ROWS
BATCH_SIZEDRY_RUNr   r   select_relatedorder_byqsSUCCESSvaluer!   valuesannotaterowr   total
SystemExitr   r   total_builtr   r    total_skippedr#   r(   iteratoradappendr   r"   	remaining r)   r'   <module>rK      sW   " ! 1 . 4
    

 !!Z!8^Iz*Xg  		-B	|3399	:B  99/}MVV]bcg]hVirr  tA  BC	#J B 	
  "8. eqj

	( +++
,B

#C
{	LLRUU1K
5zZ -  !"+')	 . /""))ZVZ)[	6mT]]dijndo]pyy  {H  IC	#J Ir)   