同步失败回调 开启新事务处理

This commit is contained in:
wkj 2024-09-29 14:41:46 +08:00
parent 1ef5b369ef
commit d0bff1f9b0
2 changed files with 44 additions and 24 deletions

View File

@ -50,6 +50,10 @@ class Synchronizer {
}
catch (err) {
if (onFailed) {
context.on('rollback', async () => {
const context2 = this.contextBuilder();
context2.begin();
try {
await onFailed({
remoteEntity: entity,
remoteEntityId: entityId,
@ -60,7 +64,13 @@ class Synchronizer {
data: ele.oper.data,
})),
reason: err,
}, context);
}, context2);
context2.commit();
}
catch (err) {
context2.rollback();
}
});
}
throw err;
}

View File

@ -92,6 +92,10 @@ export default class Synchronizer<ED extends EntityDict & BaseEntityDict, Cxt ex
}
catch (err: any) {
if (onFailed) {
context.on('rollback', async () => {
const context2 = this.contextBuilder();
context2.begin();
try {
await onFailed({
remoteEntity: entity!,
remoteEntityId: entityId!,
@ -104,7 +108,13 @@ export default class Synchronizer<ED extends EntityDict & BaseEntityDict, Cxt ex
})
),
reason: err,
}, context);
}, context2);
context2.commit();
}
catch (err) {
context2.rollback();
}
});
}
throw err;
}