RuleShake Runner
RuleShake Runner est le service d'exécution des collections de variables publiées depuis RuleShake Catalog.
Gestion des collections
Lors de la publication, une version d'une collection a une période de validité. Cette période permet à RuleShake Runner de sélectionner la bonne version d'une collection en fonction de la date d'effet de l'évaluation.
Pour une collection donnée, les périodes de validité de ses versions se suivent et ne se chevauchent pas. La dernière version d'une collection n'a pas de date de fin de validité.
Cycle de vie d'une collection
Lorsqu'une version d'une collection est publiée depuis RuleShake Catalog, elle sera présente dans RuleShake Runner mais reste à l'état"Hors ligne".
Lorsqu'une demande d'évaluation de la collection sollicite cette version, car la date d'effet de la demande correspond à la période de validité de la version, cette dernière est "compilée" puis "chargée" en mémoire pour être à l'état "En ligne".
Compilation
Lorsqu'une version d'une collection est sollicitée pour la première fois (ou après une période d'inactivité), avant de pouvoir exécuter son évaluation, il est nécessaire de compiler les formules de calcul définies dans les variables qui composent la collection.
Cette opération est couteuse en termes de temps d'exécution. Par conséquent, le temps de réponse de la première demande d'évaluation d'une version d'une collection risque d'être ralenti.
Mise en cache
La phase de compilation étant couteuse, une collection est maintenue en mémoire après compilation. Si une collection n'est pas sollicitée pendant un laps de temps paramétrable lors de l'installation de RuleShake Runner, elle sera déchargée de la mémoire et revient à l'état "Hors ligne". Une étape de compilation sera alors nécessaire lors de la prochaine sollicitation.
Évaluer une collection
Les demandes d'évaluation d'une collection de variables se font exclusivement par API REST.
Demande
La demande d'évaluation doit contenir les éléments suivants :
- Date de la demande
- Code de la collection
- Version de la collection. Optionnelle, si non renseignée, la version est déduite à partir de la date de demande par rapport aux périodes de validation des versions de la collection.
- Liste des valeurs des variables de nature
Entrée
Aucun résultat ne sera retournée si la date de la demande ne correspond à aucune période de validité des versions de la collection.
{
"requestTime": "2023-07-01T00:00",
"collectionCode": "ASSURANCE_AUTO",
"inputs": [
{
"type": "RECORD",
"reference": "VEHICULE/INFOS",
"value": "CI63033"
},
{
"type": "DATE",
"reference": "CONDUCTEUR[0]/DATE_NAISSANCE",
"value": "1989-11-04"
}
]
}
Réponse
En réponse à la demande d'évaluation, seront retournées toutes les variables définies dans la version de la collection sélectionnée dont les attributs, y compris la valeur, ont été évaluées.
Il est possible que certains attributs ne soient pas valorisés dans le cas ou la formule de calcul qui le représente n'a pas pu être évaluée. Ce cas survient si les variables utilisées dans cette formule de calcul ne sont pas tous présents au moment de son évaluation.
Résolution des variables Record
Les variables de type Record
représente les données d'un record d'un dataset défini dans RuleShake Referential.
Lors de l'évaluation d'une variable de type Record
, c'est un appel vers le service RuleShake Referential qui est
effectué pour remonter les informations du record, et éventuellement les classiers liés, à partir du code renseigné dans
la liste des variables de nature Entrée
de la demande d'évaluation.
Pour un souci de performance, les records résolus sont maintenus dans un cache pendant un laps de temps défini lors de l'installation de RuleShake Runner.