Files
FastGPT/packages/service/common/mongo/sessionRun.ts
Archer 80a84a5733 Change embedding (#1463)
* rebuild embedding queue

* dataset menu

* feat: rebuild data api

* feat: ui change embedding model

* dataset ui

* feat: rebuild index ui

* rename collection
2024-05-13 14:51:42 +08:00

20 lines
520 B
TypeScript

import { connectionMongo, ClientSession } from './index';
export const mongoSessionRun = async <T = unknown>(fn: (session: ClientSession) => Promise<T>) => {
const session = await connectionMongo.startSession();
session.startTransaction();
try {
const result = await fn(session);
await session.commitTransaction();
await session.endSession();
return result as T;
} catch (error) {
await session.abortTransaction();
await session.endSession();
return Promise.reject(error);
}
};