o Hhn @s`ddlmZddlZddlZddlZddlZgdZddZddZdd Z d d Z d d Z dS))ConfigN)Zsparczre-joinzprecision-human-painc s<d}d}d}tjdd4IdH} tjd|d|d |}zD|j|d d tjid IdH}||}|d g}|sDWnB|tdd|D7}t |d|t ||kr`Wn&|d7}Wnt y} zt d|d|d| WYd} ~ nd} ~ wwqWdIdH|S1IdHswY|S)NrgN@)timeoutTz/api/v3/workspaces/z/protocols?page_id=z &page_size= AuthorizationzBearer )headersitemscss$|] }|diddVqdS)statsZnumber_of_viewsrN)get).0pr N/home/cmiss/Jenkins/workspace/SPARC-API-DEV/scripts/update_protocol_metrics.py s"z,fetch_views_for_workspace..z cummulative views = z[ERROR] Workspace z, Page z: ) httpxZ AsyncClientrPROTOCOLS_IO_HOSTr PROTOCOLS_IO_TOKENraise_for_statusjsonsumprintlen Exception) Z workspace_idZviewspageZ page_sizeclienturlresdatarer r rfetch_views_for_workspace s:     rcs:ddtD}tj|IdH}td|t|}|S)NcSsg|]}t|qSr )r)r Zwidr r r $sz'compute_total_views..z Workspace total views results = ) workspace_idsasynciogatherrr)tasksresultstotalr r rcompute_total_views#s r'cCsddlm}tdtt}td|tj}|r(|dr(| ddd}||}d|i}td || tj t |d td |tj dS) Nr)ProtocolMetricsTablez*Starting job to update protocol metrics...zTotal protocol views = z postgres://z postgresql://rtotal_protocol_viewsz!Updating DB protocol metrics to: Tz/Finished updating DB. Protocol metrics set to: ) app.dbtabler(rr"runr'r DATABASE_URL startswithreplace updateStatePROTOCOL_METRICS_TABLENAMErdumps pullState)r( total_viewsdb_urltableZtotal_views_datar r rexecute_protocol_metrics_update*s  r6cCstjtd}|dS)N)target) threadingThreadr6start)threadr r rupdate_protocol_metrics?s  r<c Cstd|durtddSz|tj}|dur tdWdStd|t|WStyF}ztd|WYd}~dSd}~ww)Nz#Retreiving protocol metrics from DBzProtocol metrics table was Nonez(Protocol metrics pullState returned Nonez2Retreived the following protocol metrics from DB: z#Error retreiving protocol metrics: )rr2rr0rloadsr)r5 current_staterr r r get_protocol_metrics_table_stateCs   r?) app.configrr"rrr8r!rr'r6r<r?r r r rs