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(); |