# A status manager for all Abaqus jobsfromenumimportEnumfromtypingimportDict,Any
[docs]classJobStatus(Enum):""" JobStatus defines the status of a job in the Abaqus batch pack workflow. """CREATED="CREATED"COMPLETED="COMPLETED"PREPARING="PREPARING"PREPARATION_FAILED="PREPARING_FAILED"PREPARATION_SUCCESS="PREPARATION_SUCCESS"SIMULATING="SIMULATING"SIMULATION_FAILED="SIMULATION_FAILED"SIMULATION_SUCCESS="SIMULATION_SUCCESS"EXTRACTING="EXTRACTING"EXTRACTION_FAILED="EXTRACTION_FAILED"EXTRACTION_SUCCESS="EXTRACTION_SUCCESS"MONOLITHIC_SCRIPT_FAILED="MONOLITHIC_SCRIPT_FAILED"JSON_DECODE_ERROR="JSON_DECODE_ERROR"SCRIPT_ERROR="SCRIPT_ERROR"UNKNOWN_ERROR="UNKNOWN_ERROR"UNKNOWN="UNKNOWN"
[docs]defrecord_extraction(self,results:dict):# 只要有一个结果是None,就认为提取步骤有问题。ifany(visNoneforvinresults.values()):ifself._is_successful:self._current_status=JobStatus.EXTRACTION_FAILEDself.error_message="One or more extraction tasks failed."