30 lines
761 B
JavaScript
30 lines
761 B
JavaScript
import Redis from "ioredis";
|
||
|
||
// Verbindung zu Redis herstellen
|
||
const redis = new Redis({
|
||
host: "data_jobs", // Dein Redis-Containername
|
||
port: 6379
|
||
});
|
||
|
||
// Endlosschleife: Immer auf neue Jobs warten
|
||
async function startWorker() {
|
||
console.log("Worker gestartet – warte auf Jobs...");
|
||
|
||
while (true) {
|
||
// BLPOP = Warte auf Job in der Queue "grist:jobs"
|
||
const job = await redis.blpop("grist:jobs", 0);
|
||
const payload = job[1]; // [0] = Queue-Name, [1] = Daten
|
||
|
||
console.log("Job empfangen:", payload);
|
||
|
||
// Ergebnis vorbereiten
|
||
const result = `Bearbeitet: ${payload}`;
|
||
|
||
// Ergebnis in andere Queue schreiben
|
||
await redis.rpush("grist:results", result);
|
||
console.log("Ergebnis gespeichert:", result);
|
||
}
|
||
}
|
||
|
||
startWorker();
|