Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 03/08/2010 14:39:28
- Fooshi
- Membre
Notification Asynchrone
Bonjour,
Je developpe actuellement un client PostgreSQL sans bibliotheque, je souhaite maintenant ajouter les notifications asynchrones a mon client (LISTEN, UNLISTEN, NOTIFY).
Doit t'on definir des regles de notifications sur le serveur ? La syntaxe 'LISTEN test_sqlclient;' si ma base de donnée test_sqlclient est elle bonne ? le nom que l'on appelle apres la fonction LISTEN fais t'elle reference a une table ou a une regle de notification que l'on a defini sur le serveur ?
Merci d'avance.
Hors ligne
#2 03/08/2010 14:57:29
- gleu
- Administrateur
Re : Notification Asynchrone
La chaîne n'a aucune signification pour le serveur. Elle n'a une signification qu'au niveau applicatif et c'est l'applicatif qui générera les LISTEN pour les processus en écoute et les NOTIFY pour les processus qui veulent notifier les processus en écoute.
Guillaume.
Hors ligne
#3 03/08/2010 14:58:17
- Marc Cousin
- Membre
Re : Notification Asynchrone
Le nom ne fait référence à rien de précis. C'est juste un nom arbitraire, que vous utiliserez pour pouvoir avoir plusieurs attentes en même temps sur des événements distincts.
Donc par exemple vous allez faire :
LISTEN messagerie;
Et sur une autre session :
NOTIFY messagerie;
Rien ne vous empêche d'avoir une autre file d'attente avec d'autres processus écrivant dessus. Ou une session en LISTEN sur plusieurs noms en même temps.
Au passage, grosse nouveauté en 9.0 : on peut passer des 'payloads', c'est à dire des messages, dans les NOTIFY. Si vous êtes donc en cours de développement, et que cette fonctionnalité vous intéresse, développez en 9.0, elle devrait sortir assez prochainement (2 mois d'après les dernières discussions).
Marc.
Hors ligne
#4 03/08/2010 15:25:11
- Fooshi
- Membre
Re : Notification Asynchrone
Oui je comprend mieux.
Merci !
Hors ligne
#5 09/08/2010 11:45:33
- Fooshi
- Membre
Re : Notification Asynchrone
J'aurais une derniere question, comment rajouter des regles de notifications pour ma base de données ? en commande SQL ou sur PGAdmin (n'importe) car j'aimerais tester ce que j'ai codé.
Hors ligne
#6 09/08/2010 13:56:54
- Marc Cousin
- Membre
Re : Notification Asynchrone
Je ne comprends pas ce que vous voulez dire par règle de notification.
Marc.
Hors ligne
#7 09/08/2010 14:26:00
- Fooshi
- Membre
Re : Notification Asynchrone
Ce que je veux dire c'est comment activer des notifications sur le serveur ?
Hors ligne
#8 09/08/2010 14:29:16
- Marc Cousin
- Membre
Re : Notification Asynchrone
Ah. Vous pouvez tout simplement en générer en ligne de commande (psql ou pgadmin3 par exemple) avec NOTIFY nom_notification. Il s'agit d'un ordre SQL comme un autre.
Marc.
Hors ligne
Pages : 1