mirror of
https://github.com/SukkaW/Surge.git
synced 2025-12-12 09:10:35 +08:00
Fix: do not attempt to terminate a worker
This commit is contained in:
parent
179918dceb
commit
5ea91fa9a4
@ -22,6 +22,8 @@ import { TaskResult } from './lib/trace-runner';
|
|||||||
console.log('Bun version:', Bun.version);
|
console.log('Bun version:', Bun.version);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
const buildInternalReverseChnCIDRWorker = new Worker(new URL('./workers/build-internal-reverse-chn-cidr-worker.ts', import.meta.url));
|
||||||
|
|
||||||
const downloadPreviousBuildPromise = downloadPreviousBuild();
|
const downloadPreviousBuildPromise = downloadPreviousBuild();
|
||||||
const downloadPublicSuffixListPromise = downloadPublicSuffixList();
|
const downloadPublicSuffixListPromise = downloadPublicSuffixList();
|
||||||
const buildCommonPromise = downloadPreviousBuildPromise.then(() => buildCommon());
|
const buildCommonPromise = downloadPreviousBuildPromise.then(() => buildCommon());
|
||||||
@ -50,14 +52,15 @@ import { TaskResult } from './lib/trace-runner';
|
|||||||
]).then(() => buildInternalCDNDomains());
|
]).then(() => buildInternalCDNDomains());
|
||||||
|
|
||||||
const buildInternalReverseChnCIDRPromise = new Promise<TaskResult>(resolve => {
|
const buildInternalReverseChnCIDRPromise = new Promise<TaskResult>(resolve => {
|
||||||
const buildInternalReverseChnCIDRWorker = new Worker(new URL('./workers/build-internal-reverse-chn-cidr-worker.ts', import.meta.url));
|
|
||||||
|
|
||||||
const handleMessage = (e: MessageEvent<TaskResult>) => {
|
const handleMessage = (e: MessageEvent<TaskResult>) => {
|
||||||
buildInternalReverseChnCIDRWorker.terminate();
|
buildInternalReverseChnCIDRWorker.unref();
|
||||||
resolve(e.data);
|
const { data } = e;
|
||||||
}
|
|
||||||
|
|
||||||
buildInternalReverseChnCIDRWorker.addEventListener('message', handleMessage);
|
buildInternalReverseChnCIDRWorker.postMessage('exit');
|
||||||
|
resolve(data);
|
||||||
|
};
|
||||||
|
buildInternalReverseChnCIDRWorker.addEventListener('message', handleMessage, { once: true });
|
||||||
|
buildInternalReverseChnCIDRWorker.postMessage('build');
|
||||||
});
|
});
|
||||||
|
|
||||||
const buildInternalChnDomainsPromise = buildInternalChnDomains();
|
const buildInternalChnDomainsPromise = buildInternalChnDomains();
|
||||||
@ -94,6 +97,7 @@ import { TaskResult } from './lib/trace-runner';
|
|||||||
printStats(stats);
|
printStats(stats);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e);
|
console.error(e);
|
||||||
|
console.error('Something went wrong!')
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,11 @@
|
|||||||
(async () => {
|
declare const self: Worker;
|
||||||
|
|
||||||
|
self.addEventListener('message', async (e: MessageEvent<'build' | 'exit'>) => {
|
||||||
|
if (e.data === 'build') {
|
||||||
const { buildInternalReverseChnCIDR } = await import('../build-internal-reverse-chn-cidr');
|
const { buildInternalReverseChnCIDR } = await import('../build-internal-reverse-chn-cidr');
|
||||||
const stat = await buildInternalReverseChnCIDR();
|
const stat = await buildInternalReverseChnCIDR();
|
||||||
postMessage(stat);
|
postMessage(stat);
|
||||||
})();
|
} else if (e.data === 'exit') {
|
||||||
|
process.exit(0);
|
||||||
|
}
|
||||||
|
}, { once: true });
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user