Μετάβαση στο περιεχόμενο

Έλεγχος

Πέντε κουτιά καθοδηγούν τη ροή εκτέλεσης ενός σεναρίου.

Υπενθύμιση: κάθε κουτί διαθέτει επίσης τις σιωπηρές θύρες 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> του καλούντος.

Διακλάδωση δύο δρόμων.

Είσοδοιleft, right
Έξοδοιthen, else
Διαμόρφωσηoperator: lt, lte, eq, gte, gt, ne, contains — συν τα left και right ως κυριολεκτικές τιμές

Συμβουλή: αν κανένας τελεστέος δεν είναι καλωδιωμένος ούτε συμπληρωμένος, το κουτί ελέγχει απλώς την αλήθεια του σήματος που λαμβάνεται στη θύρα in. Είναι το «αν φτάσαμε ως εδώ» χωρίς ρητή συνθήκη.

Διακλάδωση N δρόμων.

Είσοδοιon
Έξοδοιμία θύρα case-<id> ανά δηλωμένη περίπτωση, συν default
Διαμόρφωσηcases: μια λίστα από { id, value }

Προτιμότερη από έναν καταρράκτη If μόλις υπάρχουν πάνω από δύο εκβάσεις: κάθε περίπτωση είναι ξεχωριστό καλώδιο, οπτικά ευανάγνωστο.

Σύνορο ανάκαμψης από σφάλμα.

ΕίσοδοιmaxAttempts, delay
Έξοδοιattempt (κάθε προσπάθεια), exhausted (προσπάθειες εξαντλημένες)
Διαμόρφωσηδείτε παρακάτω
ΠεδίοΠροεπιλογήΡόλος
maxAttempts3Μέγιστος αριθμός προσπαθειών
backofffixedfixed, linear ή exponential
delay + delayUnitΒασική καθυστέρηση (ms, s, min)
factor2Συντελεστής αύξησης σε εκθετική λειτουργία
maxDelay + maxDelayUnitΑνώτατο όριο της καθυστέρησης
retryOnErrortrueΕπανάληψη σε σφάλμα
retryOnFailurefalseΕπανάληψη σε επιχειρησιακή αποτυχία
retryOnStatusΛίστα καταστάσεων HTTP, για παράδειγμα [429, 503]

Το υπογράφημα που συνδέεται στη θύρα attempt αποτελεί την εμβέλεια που επαναλαμβάνεται. Σε περίπτωση επιτυχίας, η έξοδος γίνεται μέσω του done. Αυτό το κουτί δεν έχει θύρα error: είναι το ίδιο το σύνορο.

Retry (3, εκθετικό, [429,503])
├─ attempt ──► Αίτημα HTTP ──► Assert
└─ exhausted ──► Throw «η υπηρεσία δεν είναι διαθέσιμη»