MCPcopy Create free account
hub / github.com/NVIDIA/nvcf / update_task_progress_file

Function update_task_progress_file

examples/task-samples/task-byoo-sample/main.py:117–154  ·  view source on GitHub ↗

Creates a progress file to notify NVCT that a new output is ready to upload :param percent_complete: value between 0 and 100 to demonstrate percent complete :param progress_file_path: progress file path :param progress_name: name of folder/artifact to upload to NGC :param metad

(
    percent_complete: int,
    progress_file_path: str,
    progress_name: str,
    metadata: dict = None,
)

Source from the content-addressed store, hash-verified

115
116
117def update_task_progress_file(
118 percent_complete: int,
119 progress_file_path: str,
120 progress_name: str,
121 metadata: dict = None,
122):
123 """
124 Creates a progress file to notify NVCT that a new output is ready to upload
125
126 :param percent_complete: value between 0 and 100 to demonstrate percent complete
127 :param progress_file_path: progress file path
128 :param progress_name: name of folder/artifact to upload to NGC
129 :param metadata: a dict of additional data to include
130 :return:
131 """
132 # as requested in comment
133 if metadata is None:
134 metadata = dict()
135
136 progress = Progress(
137 taskId=os.getenv("NVCT_TASK_ID", ""),
138 percentComplete=percent_complete,
139 name=progress_name,
140 lastUpdatedAt=datetime.datetime.now(datetime.timezone.utc).strftime(
141 "%Y-%m-%dT%H:%M:%S.%fZ"
142 ),
143 metadata=metadata,
144 )
145
146 temp_file = progress_file_path + ".tmp"
147 with open(temp_file, "w") as file:
148 file.write(progress.output_to_json())
149
150 try:
151 os.rename(temp_file, progress_file_path)
152 except Exception as e:
153 logger.exception(f"Failed to write to progress file: {e}")
154 raise e
155
156
157def create_file_with_specific_size(filename, size_in_bytes):

Callers 1

main.pyFile · 0.70

Calls 3

output_to_jsonMethod · 0.95
ProgressClass · 0.70
writeMethod · 0.65

Tested by

no test coverage detected