Flux de test A/B
Ce flux de travail modélise la comparaison de deux versions pour voir laquelle donne les meilleures performances.
Ce workflow modélise des messages qui portent leurs propres instructions de routage.
user { # User
n1: circle label:"Start Routing Slip"
n5: rectangle label:"Record Routing Slip outcome"
n9: rectangle label:"Monitor Routing Slip status"
n13: circle label:"End Routing Slip"
n1.handle(bottom) -> app.n2.handle(top)
n5.handle(bottom) -> app.n6.handle(top) [label="Done"]
n9.handle(bottom) -> app.n10.handle(top)
}
app { # App
n2: rectangle label:"Receive Routing Slip event"
n6: rectangle label:"Monitor Routing Slip status"
n10: rectangle label:"Monitor Routing Slip status"
n2.handle(bottom) -> service.n3.handle(top) [label="Next"]
n6.handle(bottom) -> service.n7.handle(top)
n10.handle(bottom) -> service.n11.handle(top)
}
service { # Service
n3: rectangle label:"Validate Routing Slip conditions"
n7: rectangle label:"Monitor Routing Slip status"
n11: rectangle label:"Monitor Routing Slip status"
n3.handle(bottom) -> database.n4.handle(top)
n7.handle(bottom) -> database.n8.handle(top)
n11.handle(bottom) -> database.n12.handle(top) [label="Success"]
}
database { # Database
n4: diamond label:"Execute Routing Slip action"
n8: rectangle label:"Monitor Routing Slip status"
n12: diamond label:"Monitor Routing Slip status"
n12.handle(left) -> service.n11.handle(left) [label="Retry/Rejected"]
n12.handle(right) -> user.n13.handle(bottom)
n8.handle(right) -> user.n9.handle(left) [label="Processed"]
n4.handle(left) -> service.n3.handle(left) [label="Retry/Rejected"]
n4.handle(right) -> user.n5.handle(left)
}
Ce flux de travail modélise la comparaison de deux versions pour voir laquelle donne les meilleures performances.
Ce workflow modélise la journalisation de toutes les actions importantes à des fins de conformité.
Ce workflow modélise la vérification des permissions utilisateur avant l’exécution des actions.
Ce workflow modélise une opération asynchrone qui notifie un callback une fois terminée.
Ce workflow modélise la conservation de grosses charges utiles en externe en ne faisant transiter que des références.
Ce flux de travail modélise le rollback du travail lorsqu'une étape ultérieure échoue.