Description
Innesco enterprise di polling per feed RSS/Atom che esegue il workflow ad ogni nuovo item rilevato — il pattern monitoraggio continuativo "push-style" della pubblicazione di contenuti dei publisher che espongono feed standard. Auto-detect intelligente del formato (RSS 2.0 vs Atom 1.0) leggendo l'XML root namespace — pattern necessario perché i due standard sono mutualmente incompatibili a livello di schema ma semanticamente equivalenti per il use case workflow, e il publisher può cambiare format sotto le scarpe senza avvisare. Implementazione robusta: il trigger scheduler del runtime FlowForge invoca questo trigger ogni pollIntervalMin (default 15min, range configurable 1min-24h), il nodo fetch del feed URL, parse XML completo, e per ogni item nuovo non-ancora processato fire un new run del workflow con il content del item come trigger input. Dedup importante via guid/id del item (gli item RSS hanno guid univoco — spec RFC 4287 lo richiede) + persisted di un cursor lastSeenGuid nel state store del trigger per guarantee exactly-once delivery anche su restart container o crash recovery — pattern cruciale per evitare il classico bug "ogni mattina ricevo 50 email di alert duplicate sui post di ieri" all'restart del workflow. Schedulazione complementare: il polling può essere config su questo trigger directly (pattern preferito per workflow dedicato a singolo feed) oppure combinare con trigger_cron che chiama questo nodo come action (es. cron 15min globale che processa 10 feed in singolo workflow batch — più efficient di 10 trigger separati ognuno con suo polling indipendente). Input al workflow downstream per ogni nuovo item: { item: { title, link, pubDate, content, snippet, author, categories, enclosure? }, feedMetadata: { feedTitle, feedDescription, feedUrl, feedLanguage, totalItemsInFeed, polledAt } }. Use case enterprise di monitoring continuativo: news aggregator azienda con monitor di 10+ testate (Repubblica, Corriere, Sole24Ore, Il Foglio, Il Post, ANSA, Reuters Italia) + AI summary downstream via agent_business_summarizer + post su Slack canale #news della company; monitoraggio sistematico di comunicati stampa istituzionali (RSS feed di Camera dei Deputati, Senato della Repubblica, Gazzetta Ufficiale italiana, AgID, Garante Privacy — tutti expongono RSS feed ufficiale); sync di nuovi articoli del proprio blog su CRM HubSpot/Salesforce per il marketing team (post nuovo → contact rilevanti segmented → email digest); alert su nuovi articoli pubblicati dai principali concorrenti su loro blog corporate (10+ competitor monitored simultaneously); GitHub releases feed dei vendor di dependency critiche (postgres, nginx, kubernetes, node) per security patches notification.
