incognitolm commited on
Commit ·
fd152e6
1
Parent(s): fb79c98
Delete Searchworker.js
Browse files- server/Searchworker.js +0 -31
server/Searchworker.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
| 1 |
-
// searchWorker.js — runs inside a worker_thread, fully isolated from the
|
| 2 |
-
// main WS server. Receives a query via workerData, performs the Gradio
|
| 3 |
-
// search, posts the result back via parentPort, then exits.
|
| 4 |
-
//
|
| 5 |
-
// Because this runs in its own V8 context / event loop, the Gradio client's
|
| 6 |
-
// internal SSE fetch stream cannot interfere with the main thread's ws server.
|
| 7 |
-
|
| 8 |
-
import { workerData, parentPort } from 'worker_threads';
|
| 9 |
-
import { Client } from '@gradio/client';
|
| 10 |
-
|
| 11 |
-
async function run() {
|
| 12 |
-
const { query } = workerData;
|
| 13 |
-
let client = null;
|
| 14 |
-
try {
|
| 15 |
-
client = await Client.connect('incognitolm/Web-Search');
|
| 16 |
-
const result = await client.predict('/perform_search', { query });
|
| 17 |
-
const raw = Array.isArray(result.data) ? result.data[0] : result.data;
|
| 18 |
-
if (!raw) throw new Error('Empty response from search endpoint');
|
| 19 |
-
const text = typeof raw === 'string' ? raw : JSON.stringify(raw);
|
| 20 |
-
parentPort.postMessage({ ok: true, result: text });
|
| 21 |
-
} catch (err) {
|
| 22 |
-
parentPort.postMessage({ ok: false, error: String(err) });
|
| 23 |
-
} finally {
|
| 24 |
-
try { client?.close?.(); } catch (_) {}
|
| 25 |
-
// Force-exit so the worker doesn't hang on lingering async handles
|
| 26 |
-
// (the SSE response body reader, heartbeat timer, etc.)
|
| 27 |
-
setTimeout(() => process.exit(0), 0);
|
| 28 |
-
}
|
| 29 |
-
}
|
| 30 |
-
|
| 31 |
-
run();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|