Έλεγχος
Πέντε κουτιά καθοδηγούν τη ροή εκτέλεσης ενός σεναρίου.
Υπενθύμιση: κάθε κουτί διαθέτει επίσης τις σιωπηρές θύρες in, error και
done — δείτε Θύρες και σύνδεσμοι.
Input / Param (είσοδος / παράμετρος)
Section titled “Input / Param (είσοδος / παράμετρος)”Δηλώνει τις παραμέτρους του σεναρίου.
| Είσοδοι | καμία |
| Έξοδοι | value — ένα μοναδικό αντικείμενο { nom: valeur, … } |
| Διαμόρφωση | name (το όνομα της παραμέτρου), valueType (ο τύπος και η προεπιλεγμένη τιμή της) |
Οι τιμές παρέχονται κατά την εκκίνηση, με --param nom=valeur στη γραμμή
εντολών, ή ζητούνται διαδραστικά αν η εκτέλεση φτάσει στο κουτί χωρίς
διαθέσιμη τιμή.
Είσοδος «baseUrl» (συμβολοσειρά) ──► θύρα env του αιτήματοςOutput / Return (έξοδος / επιστροφή)
Section titled “Output / Return (έξοδος / επιστροφή)”Εκθέτει ένα αποτέλεσμα στον καλούντα του σεναρίου.
| Είσοδοι | value |
| Έξοδοι | καμία — είναι απορροφητής: ούτε error, ούτε done |
| Διαμόρφωση | name |
Ένα σενάριο που καλείται από μια ενέργεια Εκτέλεση σεναρίου καθιστά καθεμία
από τις εξόδους του διαθέσιμη στη θύρα output:<nom> του καλούντος.
If (αν)
Section titled “If (αν)”Διακλάδωση δύο δρόμων.
| Είσοδοι | left, right |
| Έξοδοι | then, else |
| Διαμόρφωση | operator: lt, lte, eq, gte, gt, ne, contains — συν τα left και right ως κυριολεκτικές τιμές |
Συμβουλή: αν κανένας τελεστέος δεν είναι καλωδιωμένος ούτε συμπληρωμένος,
το κουτί ελέγχει απλώς την αλήθεια του σήματος που λαμβάνεται στη θύρα in.
Είναι το «αν φτάσαμε ως εδώ» χωρίς ρητή συνθήκη.
Switch (διακλάδωση)
Section titled “Switch (διακλάδωση)”Διακλάδωση N δρόμων.
| Είσοδοι | on |
| Έξοδοι | μία θύρα case-<id> ανά δηλωμένη περίπτωση, συν default |
| Διαμόρφωση | cases: μια λίστα από { id, value } |
Προτιμότερη από έναν καταρράκτη If μόλις υπάρχουν πάνω από δύο εκβάσεις: κάθε περίπτωση είναι ξεχωριστό καλώδιο, οπτικά ευανάγνωστο.
Retry (επανάληψη)
Section titled “Retry (επανάληψη)”Σύνορο ανάκαμψης από σφάλμα.
| Είσοδοι | maxAttempts, delay |
| Έξοδοι | attempt (κάθε προσπάθεια), exhausted (προσπάθειες εξαντλημένες) |
| Διαμόρφωση | δείτε παρακάτω |
| Πεδίο | Προεπιλογή | Ρόλος |
|---|---|---|
maxAttempts | 3 | Μέγιστος αριθμός προσπαθειών |
backoff | fixed | fixed, linear ή exponential |
delay + delayUnit | — | Βασική καθυστέρηση (ms, s, min) |
factor | 2 | Συντελεστής αύξησης σε εκθετική λειτουργία |
maxDelay + maxDelayUnit | — | Ανώτατο όριο της καθυστέρησης |
retryOnError | true | Επανάληψη σε σφάλμα |
retryOnFailure | false | Επανάληψη σε επιχειρησιακή αποτυχία |
retryOnStatus | — | Λίστα καταστάσεων HTTP, για παράδειγμα [429, 503] |
Το υπογράφημα που συνδέεται στη θύρα attempt αποτελεί την εμβέλεια που
επαναλαμβάνεται. Σε περίπτωση επιτυχίας, η έξοδος γίνεται μέσω του done.
Αυτό το κουτί δεν έχει θύρα error: είναι το ίδιο το σύνορο.
Retry (3, εκθετικό, [429,503]) ├─ attempt ──► Αίτημα HTTP ──► Assert └─ exhausted ──► Throw «η υπηρεσία δεν είναι διαθέσιμη»