mirror of
https://github.com/labring/FastGPT.git
synced 2025-07-23 05:12:39 +00:00

* perf: worker pool * perf: worker register * perf: worker controller * perf: system plugin worker * perf: system plugin worker * perf: worker * perf: worker * worker timeout * perf: copy icon
25 lines
634 B
TypeScript
25 lines
634 B
TypeScript
import { SystemPluginResponseType } from '../type';
|
|
import { parentPort } from 'worker_threads';
|
|
|
|
const loadModule = async (name: string): Promise<(e: any) => SystemPluginResponseType> => {
|
|
const module = await import(`../src/${name}/index`);
|
|
return module.default;
|
|
};
|
|
|
|
parentPort?.on('message', async ({ pluginName, data }: { pluginName: string; data: any }) => {
|
|
try {
|
|
const cb = await loadModule(pluginName);
|
|
parentPort?.postMessage({
|
|
type: 'success',
|
|
data: await cb(data)
|
|
});
|
|
} catch (error) {
|
|
parentPort?.postMessage({
|
|
type: 'error',
|
|
data: error
|
|
});
|
|
}
|
|
|
|
process.exit();
|
|
});
|