update
This commit is contained in:
parent
bf458ed2c1
commit
ae6d323ff8
|
|
@ -611,18 +611,39 @@ class SyncEhrToOaFormJob(BaseJob):
|
||||||
raise RuntimeError(f"OA batch-update failed code={code} message={rj.get('message')!r}")
|
raise RuntimeError(f"OA batch-update failed code={code} message={rj.get('message')!r}")
|
||||||
|
|
||||||
data = rj.get("data") or {}
|
data = rj.get("data") or {}
|
||||||
|
message = str(rj.get("message") or "")
|
||||||
success_count += int(data.get("successCount", 0) or 0)
|
success_count += int(data.get("successCount", 0) or 0)
|
||||||
failed_count += int(data.get("failedCount", 0) or 0)
|
failed_count += int(data.get("failedCount", 0) or 0)
|
||||||
fd = data.get("failedData") or {}
|
fd = data.get("failedData") or {}
|
||||||
if isinstance(fd, dict):
|
if isinstance(fd, dict):
|
||||||
for k, v in fd.items():
|
for k, v in fd.items():
|
||||||
failed_data[str(k)] = str(v)
|
failed_data[str(k)] = str(v)
|
||||||
|
else:
|
||||||
|
fd = {}
|
||||||
|
|
||||||
|
# 打印失败原因样本,避免只有计数没有原因。
|
||||||
|
if fd:
|
||||||
|
sample_items = list(fd.items())[:20]
|
||||||
|
logger.warning(
|
||||||
|
"OA batch-update failedData sample chunk=%s size=%s message=%s sample=%s",
|
||||||
|
i // batch_size + 1,
|
||||||
|
len(chunk),
|
||||||
|
message,
|
||||||
|
sample_items,
|
||||||
|
)
|
||||||
|
|
||||||
logger.info(
|
logger.info(
|
||||||
"OA batch-update chunk done chunk_size=%s success=%s failed=%s",
|
"OA batch-update chunk done chunk_size=%s success=%s failed=%s message=%s",
|
||||||
len(chunk),
|
len(chunk),
|
||||||
int(data.get("successCount", 0) or 0),
|
int(data.get("successCount", 0) or 0),
|
||||||
int(data.get("failedCount", 0) or 0),
|
int(data.get("failedCount", 0) or 0),
|
||||||
|
message,
|
||||||
|
)
|
||||||
|
# 若整批 100% 失败,立即抛错终止并返回样本,避免任务表面继续执行。
|
||||||
|
if int(data.get("successCount", 0) or 0) == 0 and int(data.get("failedCount", 0) or 0) == len(chunk):
|
||||||
|
raise RuntimeError(
|
||||||
|
"OA batch-update chunk all failed; "
|
||||||
|
f"message={message!r}; failed_sample={list(fd.items())[:20] if isinstance(fd, dict) else fd!r}"
|
||||||
)
|
)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue