Descrizione
Avvia il workflow ogni volta che arriva un messaggio su una coda RabbitMQ. Il runtime apre un consumer AMQP 0-9-1 persistente verso il broker e resta in ascolto: ideale per architetture a code dove un producer deposita lavori (ordini, email da inviare, job di elaborazione) e il workflow li processa uno a uno. Differenza con i sibling: trigger_webhook = HTTP in ingresso; trigger_websocket = stream push persistente; trigger_kafka = log distribuito ad alto throughput con consumer group/offset; trigger_rabbitmq = coda di lavoro con ack per-messaggio e requeue. Scegli RabbitMQ quando vuoi una coda di lavoro affidabile con conferma esplicita di elaborazione (work queue), non un log da rileggere. Consegna affidabile (at-least-once, default): il messaggio viene confermato (ACK) al broker SOLO dopo che il run è partito con successo. Se il run fallisce, il messaggio viene rimesso in coda (NACK + requeue) e riconsegnato: nessun lavoro perso su un crash. In modalità "auto" (at-most-once) il broker considera consegnato all'invio — più veloce ma un run fallito perde il messaggio. Backpressure: "prefetch" limita quanti messaggi non ancora confermati il broker invia in parallelo — è il vero regolatore di carico, evita di sommergere il runtime. Riconnessione automatica con backoff esponenziale (1s→2s→…→30s) su caduta del broker o della rete. Output per ogni messaggio: { data } = payload parsato come JSON quando possibile (altrimenti la stringa grezza), { raw } = testo originale, { receivedAt } = timestamp ISO. Con "JSON Pointer di filtro" processi solo i messaggi che hanno un certo campo. Use case: (1) coda di ordini da un e-commerce → validazione → evasione, (2) job di invio email/PDF depositati da un'altra app → generazione → invio, (3) eventi di dominio da microservizi → sync verso CRM/DB, (4) pipeline di elaborazione immagini/documenti con requeue automatico sui fallimenti.
