Aller au contenu principal
Version: v1-alpha

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é.

Versionning des collections
Figure: Versionning des collections

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".

Cycle de vie d'une collection
Figure: Cycle de vie d'une collection

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
attention

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.

Exemple
{
"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.