mirror of
https://github.com/labring/FastGPT.git
synced 2026-05-05 01:02:59 +08:00
57a505f837
* chore: Rename service & container names for consistency in Docker configs (#6710) * chore: Rename container names for consistency in Docker configs * chore: Rename service names for consistency in Docker configs chore: Update OpenSandbox versions and image repositories (#6709) * chore: Update OpenSandbox versions and image repositories * yml version * images * init yml * port --------- Co-authored-by: archer <545436317@qq.com> refactor(chat): optimize sandbox status logic and decouple UI/Status hooks (#6713) * refactor(chat): optimize sandbox status logic and decouple UI/Status hooks * fix: useRef, rename onClose to afterClose Update .env.template (#6720) aiproxy默认的请求地址改成http协议 feat: comprehensive agent skill management and sandbox infrastructure optimization - Skill System: Implemented a full skill management module including CRUD operations, folder organization, AI-driven skill generation, and versioning (switch/update). - Sandbox Infrastructure: Introduced 'volume-manager' for PVC and Docker volume lifecycle management, replacing the MinIO sync-agent for better data persistence. - Workflow Integration: Enhanced the Agent node to support skill selection and configuration, including new UI components and data normalization. - Permission Management: Added granular permission controls for skills, supporting collaborators, owner transfers, and permission inheritance. - UI/UX: Added a dedicated Skill dashboard, sandbox debug interface (terminal, logs, and iframe proxy), and comprehensive i18n support. - Maintenance: Migrated Docker services to named volumes, optimized sandbox instance limits, and improved error handling for sandbox providers. Co-authored-by: chanzhi82020 <chenzhi@sangfor.com.cn> Co-authored-by: lavine77 Signed-off-by: Jon <ljp@sangfor.com.cn> feat: hide skill prettier * perf: hide skill code * fix: ts * lock * perf: tool code * fix: ts * lock * fix: test * fix: openapi * lock * fix: test * null model --------- Co-authored-by: archer <545436317@qq.com>
43 lines
1.2 KiB
TypeScript
43 lines
1.2 KiB
TypeScript
import { getQueue, getWorker, QueueNames } from '../../../common/bullmq';
|
|
import { datasetDeleteProcessor } from './processor';
|
|
|
|
export type DatasetDeleteJobData = {
|
|
teamId: string;
|
|
datasetId: string;
|
|
};
|
|
|
|
// 创建工作进程
|
|
export const initDatasetDeleteWorker = () => {
|
|
return getWorker<DatasetDeleteJobData>(QueueNames.datasetDelete, datasetDeleteProcessor, {
|
|
concurrency: 1, // 确保同时只有1个删除任务
|
|
removeOnFail: {
|
|
age: 90 * 24 * 60 * 60, // 保留90天失败记录
|
|
count: 10000 // 最多保留10000个失败任务
|
|
}
|
|
});
|
|
};
|
|
|
|
// 添加删除任务
|
|
export const addDatasetDeleteJob = (data: DatasetDeleteJobData) => {
|
|
// 创建删除队列
|
|
const datasetDeleteQueue = getQueue<DatasetDeleteJobData>(QueueNames.datasetDelete, {
|
|
defaultJobOptions: {
|
|
attempts: 10,
|
|
backoff: {
|
|
type: 'exponential',
|
|
delay: 5000
|
|
},
|
|
removeOnComplete: true,
|
|
removeOnFail: { age: 30 * 24 * 60 * 60 } // 保留30天失败记录
|
|
}
|
|
});
|
|
|
|
const jobId = `${String(data.teamId)}-${String(data.datasetId)}`;
|
|
|
|
// 使用去重机制,避免重复删除
|
|
return datasetDeleteQueue.add('delete_dataset', data, {
|
|
jobId,
|
|
delay: 1000 // 延迟1秒执行,确保API响应完成
|
|
});
|
|
};
|