1919from enum import Enum
2020
2121import oci
22- import tqdm
22+ from tqdm import tqdm
2323import yaml
2424from ads .common import auth
2525from ads .common .decorator .utils import class_or_instance_method
@@ -1051,17 +1051,14 @@ def __init__(self, id: str, description: str = "Processing"):
10511051 self ._status = None
10521052
10531053 def _sync (self ):
1054- try :
1055- work_request = self .client .get_work_request (self .id ).data
1056- work_request_logs = self .client .list_work_request_logs (
1057- self .id
1058- ).data
1054+ work_request = self .client .get_work_request (self .id ).data
1055+ work_request_logs = self .client .list_work_request_logs (
1056+ self .id
1057+ ).data
10591058
1060- self ._percentage = work_request .percent_complete
1061- self ._status = work_request .status
1062- self ._description = work_request_logs [:- 1 ]
1063- except Exception as ex :
1064- logger .warn (ex )
1059+ self ._percentage = work_request .percent_complete
1060+ self ._status = work_request .status
1061+ self ._description = work_request_logs [:- 1 ]
10651062
10661063 def watch (
10671064 self ,
@@ -1081,14 +1078,17 @@ def watch(
10811078 return
10821079
10831080 time .sleep (poll_interval )
1084- self ._sync ()
1081+
1082+ try :
1083+ self ._sync ()
1084+ except Exception as ex :
1085+ logger .warn (ex )
1086+ continue
1087+
10851088 percent_change = self ._percentage - previous_percent_complete
10861089 previous_percent_complete = self ._percentage
10871090 description = self ._description if previous_log != self ._description else ""
1088- progress_callback (
1089- percent_change = percent_change ,
1090- description = description
1091- )
1091+ progress_callback (percent_change , description )
10921092 previous_log = self ._description
10931093
10941094 if self ._status in WORK_REQUEST_STOP_STATE :
@@ -1103,21 +1103,22 @@ def watch(
11031103 else :
11041104 break
11051105
1106- progress_callback (percent_change = 0 , description = "Done" )
1106+ progress_callback (0 , "Done" )
11071107
11081108
11091109def wait_work_request (
11101110 id : str ,
1111- desc : str ,
1111+ progress_bar_description : str ,
11121112 max_wait_time : int = DEFAULT_WAIT_TIME ,
11131113 poll_interval : int = DEFAULT_POLL_INTERVAL
11141114):
11151115 ads_work_request = ADSWorkRequest (id )
11161116
11171117 with tqdm (
11181118 leave = False ,
1119+ mininterval = 0 ,
11191120 file = sys .stdout ,
1120- desc = desc ,
1121+ desc = progress_bar_description ,
11211122 ) as pbar :
11221123
11231124 def progress_callback (percent_change , description ):
@@ -1128,7 +1129,7 @@ def progress_callback(percent_change, description):
11281129
11291130 ads_work_request .watch (
11301131 progress_callback ,
1131- max_wait_time = max_wait_time ,
1132- poll_interval = poll_interval
1132+ max_wait_time ,
1133+ poll_interval
11331134 )
11341135
0 commit comments