Présentation du service
Ceci service assure l'interaction entre l'application GorgMail (emails.gadz.org) et l'Architecture Orientée Service (SOA)
Il permet notamment à GorgMail d'être informer du succès de la création d'un compte GoogleApps
Il est intégré à l'application GorgMail (emails.gadz.org)
Infos pour les Ops
Environnements
Développement
VHOST rabbitmq individuel pour chaque dev
Recette
Hébergement | VOIR GorgMail (emails.gadz.org) |
---|---|
Resources | User rabbitmq : rec-gorgmail |
Production
Hébergement | VOIR GorgMail (emails.gadz.org) |
---|---|
Resources | User rabbitmq : prod-gorgmail |
Dépendances extérieures
Aucune spécifiques au service rabbitMQ, de manière générale voir GorgMail (emails.gadz.org)
Déploiement
Configuration
voir GorgMail (emails.gadz.org)
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
Arret / Démarage
Sur Heroku :
Il suffit d'activer ou désactiver le dyno service_rabbitmq
En local :
Lancer la commande bundle exec rake gorg_service:run
pour démarrer le service
Ctrl+C pour le couper ou envoyer SIGINT
(kill -2
)
Installation
Infos pour les Dev'
Notifications générées
Clé de routage | Quand ? | Contenu du message | Exemple de contenu |
---|---|---|---|
|
N'oubliez pas de mettre à jour la propriétés "Clés de routage émises" de la page avec les nouvelles routing keys
Changement des spécifications
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
Requêtes faites à d'autres services
Clé de routage | Commentaires |
---|---|
request.googleapps.user.create | |
request.mailinglist.update | |
request.mailinglist.delete |
N'oubliez pas de mettre à jour la propriétés "Clés de routage émise" de la page avec les nouvelles routing keys
Requetes écoutées
Clé de routage | Actions effectuées | Contenu du message | Exemple de contenu |
---|---|---|---|
|
N'oubliez pas de mettre à jour la propriétés "Clés de routage écoutées" de la page avec les nouvelles routing keys
Changement des spécifications
Si vous modifiez le format d'une requete existante, pensez à reporter les changements sur les services clients de cette requete
Notifications écoutées
Clé de routage | Actions effectuées |
---|---|
notify.googleapps.user.created | Active la redirection vers ce compte google apps |
N'oubliez pas de mettre à jour la propriétés "Clés de routage écoutées" de la page avec les nouvelles routing keys