|
Présentation du service
Ce service fait l'interaction entre l'API GrAM et le système SOA
Outre le fait de piloter les sous-système tel que le LDAP et les comptes GoogleApps, il permet d’exécuter des requêtes en mode "batch", notamment pour la mise à jour des groupes depuis le site Soce
Ce service est complètement intégré au sein de l'application GrAM API 2
VHOST rabbitmq individuel pour chaque dev
Hébergement | VOIR GrAM API 2 |
---|---|
Resources | User rabbitmq : rec-gram |
Hébergement | VOIR GrAM API 2 |
---|---|
Resources | User rabbitmq : rec-gram |
Aucune spécifiques au service rabbitMQ, de manière générale voir GrAM API 2
voir GrAM API 2
L'application fonctionne soit avec des varaibles d'environnement, soit avec un fichier de configuration.
Le fichier de configuration est situé dans config/rabbitmq.yml
default: &default sender: gramapi host: localhost port: 5672 vhost: / queue_name: logs deferred_time: 5000 max_attempts: 10 exchange_name: "agoram_event_exchange" user: guest password: logging_key: "log" development: <<: *default test: <<: *default deferred_time: 10 max_attempts: 2 production: <<: *default |
Tout ces attributs peuvent être indiquer en variable d'environnement en les mettant en majuscules et en prefixant le nom avec RABBITMQ_
Les variables d'environnement sont prioritaires sur le fichier de configuration
Exemple : RABBITMQ_HOST
Il suffit d'activer ou désactiver le dyno service_rabbitmq
Lancer la commande bundle exec rake gorg_service:run
pour démarrer le service
Ctrl+C pour le couper ou envoyer SIGINT
(kill -2
)
Guide d'installation du service
Clé de routage | Quand ? | Contenu du message | Exemple de contenu | ||
---|---|---|---|---|---|
notify.account.created | Le compte a été créé dans le GrAM | key : l'uuid du compte changes : la liste des changement sous la forme
|
| ||
notify.account.updated | Le compte a été mis à jour dans le GrAM | key : l'uuid du compte changes : la liste des changement sous la forme
|
| ||
notify.account.deleted | Le compte a été supprimé du GrAM PAS ENCORE IMPLEMENTE | key : l'uuid du compte |
| ||
notify.group.created | Le groupe a été créé dans le GrAM | key : l'uuid du compte changes : la liste des changement sous la forme
|
| ||
notify.group.updated | Le groupe a été mis à jour dans le GrAM | key : l'uuid du compte changes : la liste des changement sous la forme
|
| ||
notify.group.deleted | Le groupe a été supprimé du GrAM PAS ENCORE IMPLEMENTE | key : l'uuid du groupe |
|
N'oubliez pas de mettre à jour la propriétés "Clés de routage émises" de la page avec les nouvelles routing keys |
Si vous modifiez le format d'une notification existante, essayez au maximum de conserver les données précédentes et pensez à reporter les changements sur les services clients de cette notification |
Clé de routage | Commentaires |
---|---|
request.unautreservice.ressource.action | un commentaire qui pourrait aider les autres dev a comprendre pourquoi cet appel a un autre service est fait |
N'oubliez pas de mettre à jour la propriétés "Clés de routage émise" de la page avec les nouvelles routing keys |
Clé de routage | Actions effectuées | Contenu du message | Exemple de contenu | ||
---|---|---|---|---|---|
request.gramapi.group.update | Met à jours les informations d'un groupe à partir des données du message, y compris la liste des membres |
|
|
N'oubliez pas de mettre à jour la propriétés "Clés de routage écoutées" de la page avec les nouvelles routing keys |
Si vous modifiez le format d'une requete existante, pensez à reporter les changements sur les services clients de cette requete |
Clé de routage | Actions effectuées |
---|---|
notify.unautreservice.ressource.status | Expliquez ce que le service va faire quand on appel cette action |
N'oubliez pas de mettre à jour la propriétés "Clés de routage écoutées" de la page avec les nouvelles routing keys |