Vous n'êtes pas identifié(e).

#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

Pied de page des forums