Pràctica 3: Workflows amb Nodes
Objectiu
Demostrar la capacitat de construir workflows complexos usant trigger nodes, nodes de lògica, Code node i HTTP Request de manera integrada.
Enunciat
Has de crear un workflow anomenat Pràctica 3 - Monitor de qualitat [el teu nom] que:
- S'executi cada dia a les 8:00 (Schedule Trigger)
- Consulti una API pública per obtenir dades
- Processi i classifiqui les dades amb lògica condicional
- Generi un informe de resum
Tasca A: Monitor meteorològic diari
Específicacions
El workflow ha de:
- Disparar-se cada dia a les 8:00 (zona horària Europe/Madrid)
- Consultar l'API d'Open-Meteo per a Blanes:
- URL:
https://api.open-meteo.com/v1/forecast - Params:
latitude=41.6764,longitude=2.7898,daily=temperature_2m_max,temperature_2m_min,precipitation_sum,weathercode,timezone=Europe/Madrid,forecast_days=1 - Classificar la meteorologia:
- Molt fred: max < 10°C
- Fred: max entre 10 i 18°C
- Agradable: max entre 18 i 28°C
- Calor: max > 28°C
- Generar un missatge en català que inclogui:
- Data d'avui
- Temperatura màxima i mínima
- Classificació
- Precipitació prevista
- Recomanacio (abric, paraigua, crema solar...)
Estructura esperada del workflow
flowchart LR
A([Schedule\nTrigger 8:00]) --> B[HTTP Request\nOpen-Meteo API]
B --> C[Code\nExtreure dades del dia]
C --> D{Switch\nClassificacio temperatura}
D -->|Molt fred| E1[Set\nMissatge molt fred]
D -->|Fred| E2[Set\nMissatge fred]
D -->|Agradable| E3[Set\nMissatge agradable]
D -->|Calor| E4[Set\nMissatge calor]
E1 --> F[Merge\nAppend]
E2 --> F
E3 --> F
E4 --> F
F --> G[Code\nCompondre informe final]
Tasca B: Processament d'una llista amb lògica
Crea un segon workflow Pràctica 3B - anàlisi de vendes [el teu nom] que:
- Tingui un Manual Trigger
- Un node Code que generi una llista de 15 vendes fictícies:
- Cada venda te: producte, import, mètode_pagament (efectiu/targeta/transferencia), regio (nord/sud/est/oest)
- Un node IF que separi vendes d'alt valor (> 500€) de les de baix valor
- Per a les d'alt valor: un node Set que afegeixi el camp
prioritat: alta - Per a les de baix valor: un node Set que afegeixi el camp
prioritat: normal - Un node Merge Append que reuneixi totes les vendes
- Un node Code final que calculi:
- Total de vendes per regio
- Import total per mètode de pagament
- Percentatge de vendes d'alta prioritat
- Import total de totes les vendes
Lliurament
Lliura al campus virtual:
- Captura del workflow A complet (tots els nodes visibles)
- Captura de l'output del workflow A executat en mode test
- Captura del workflow B complet
- Captura de l'output del node final del workflow B amb les estadistiques
- Fitxers JSON exportats dels dos workflows
- Document explicatiu (max 1 pagina A4) que descrigui:
- Per què has triat cada node
- Quin problema va sorgir i com ho has resolt
- Quines millores afegirias
Rúbrica d'avaluació PRN8N03
| Criteri | Insuficient (0-4) | Suficient (5-6) | Notable (7-8) | Excel·lent (9-10) |
|---|---|---|---|---|
| Workflow A: Schedule i API | No funciona | Funciona amb errors | Funciona correctament | Funciona amb gestió d'errors i dades extres |
| Workflow A: Classificació | Absent o incorrecta | 2-3 branques correctes | Totes les branques correctes | Classificació completa amb missatge personalitzat |
| Workflow B: generació de dades | Dades absents o incorrectes | 10+ vendes generades | 15 vendes amb tots els camps | 15 vendes realistes i ben estructurades |
| Workflow B: Lògica IF + Merge | Absent | IF sense Merge | IF i Merge bàsics | IF, Merge i estadistiques completes |
| Càlculs finals | Absents | 1-2 càlculs | 3-4 càlculs correctes | Tots els càlculs correctes i ben presentats |
| documentació | Absent | Molt breu | Adequada | Detallada amb reflexió crítica |
Advertència
El workflow A ha d'usar realment l'API d'Open-Meteo (amb una petició HTTP real). No generis les dades amb un Code node substituint l'API.