interstellar_ai/app/backend/threads/GetWorker.ts

31 lines
1 KiB
TypeScript
Raw Normal View History

2024-09-23 11:11:45 +02:00
import axios from "axios";
let windownameGlobal = ""; // Global variable to hold the window name
let accesstoken = ""; // Variable to store the access token
2024-09-23 11:11:45 +02:00
onmessage = (event) => {
const { action, access_token, windowname } = event.data;
accesstoken = access_token;
windownameGlobal = windowname;
2024-09-23 14:54:13 +02:00
if (action === "start") {
fetchData(); // Start fetching data on 'start' action
2024-09-23 11:11:45 +02:00
}
}
2024-09-23 16:34:55 +02:00
const fetchData = () => {
const apiURL = new URL("http://localhost:5000/interstellar_ai/api/ai_get?access_token=" + accesstoken);
apiURL.hostname = windownameGlobal; // Set the hostname
2024-09-24 16:42:36 +02:00
axios.get(apiURL.href)
2024-09-23 11:11:45 +02:00
.then(response => {
postMessage(response.data); // Send data back on success
setTimeout(fetchData, 100); // Schedule next fetch
2024-09-23 11:11:45 +02:00
})
.catch(error => {
console.log('Error fetching data:', error);
postMessage({ error: "failed fetching data" }); // Send error message
setTimeout(() => fetchData(), 1000); // Retry after 1 second
});
}