Précédent   Forum du club des développeurs et IT Pro > Dotnet > Développement Windows > Services Windows
Services Windows Forum d'entraide sur le développement de services Windows.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 20/09/2012, 15h38   #1
antrax2013
Membre du Club
 
Inscription : avril 2004
Messages : 180
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 180
Points : 66
Points : 66
Par défaut ajout dans une queue et déclenchement de service

Bonjour,

J'ai fait un service windows qui vient régulièrement (timer) requêter en base les données dans une table pour voir s'il n'a pas des demandes à traiter (nouveaux enregistrements). Jusque là pas de soucis.

En regardant mes logs. Je constate que plus de 90% du temps, il se lance pour rien. Aussi je voudrais savoir s'il n'est pas possible de réveiller le service suite à un insert dans la base. Ce qui serait plus "élégant". Une sorte de trigger. Avez vous des idées ou des pistes ? D'avance merci.

Au niveau des contraintes, le service gère les "demandes" triées selon leur niveau de priorité et leur ancienneté. Les demandes émanent d'une appli web. Elles peuvent arriver en grande quantité genre plusieurs centaines par minutes. Après le passage par la base n'est pas une obligation.

C'est une sorte de gestion de file d'attente via la BD où sont consignés les informations pour le traitement. Par contre je dois informer l'utilisateur de l'état de sa demande. Aujourd'hui c'est dans la base mais je peux m'en affranchir en passant par des étiquettes WorkFlow.

En gros j'ai un état de la demande (attente, en cours, terminée...) à gérer et 3 ID transmettre pour pouvoir faire le traitement demandés.
antrax2013 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2012, 16h35   #2
h2s84
Modérateur
 
Avatar de h2s84
 
Homme Holty Samba SOW
Développeur .NET
Inscription : mars 2007
Messages : 2 767
Détails du profil
Informations personnelles :
Nom : Homme Holty Samba SOW
Âge : 28
Localisation : Sénégal

Informations professionnelles :
Activité : Développeur .NET
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2007
Messages : 2 767
Points : 5 256
Points : 5 256
Envoyer un message via MSN à h2s84 Envoyer un message via Skype™ à h2s84
Citation:
Envoyé par antrax2013 Voir le message
En regardant mes logs. Je constate que plus de 90% du temps, il se lance pour rien. Aussi je voudrais savoir s'il n'est pas possible de réveiller le service suite à un insert dans la base. Ce qui serait plus "élégant". Une sorte de trigger. Avez vous des idées ou des pistes ? D'avance merci.
La question est de savoir, est-ce que durant les 90% du temps où le service ne fout rien, tu as des problèmes de performance ou de mémoire ? Si non, bah pourquoi vouloir changer vu qu'il n'y a aucun problème.

Si tu veux seulement une solution vraiment élégante sans timer, alors orientes-toi vers les services. En gros ton service windows héberge un service WCF. Ton application Web informe ton service à chaque qu'elle a inséré une demande avec succès en lui fournissant l'ID de la demande.
__________________
Consultant .Net chez SoftFluent
Découvrir notre produit CodeFluent Entities

Adhérer à l'association Fier d'être développeur
Les FAQs sur les technologies .Net voir ici
Les cours et tutos sur les technologies .Net voir ici
Les critiques sur les livres parlant des technologies .Net voir ici
Pensez à la balise [CODE]
Pensez au tag si votre problème est résolu
h2s84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2012, 17h39   #3
antrax2013
Membre du Club
 
Inscription : avril 2004
Messages : 180
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 180
Points : 66
Points : 66
Citation:
Envoyé par h2s84 Voir le message
La question est de savoir, est-ce que durant les 90% du temps où le service ne fout rien, tu as des problèmes de performance ou de mémoire ? Si non, bah pourquoi vouloir changer vu qu'il n'y a aucun problème.
Effectivement c'est un de nos soucis. Bien que le service ne soit pas très groumant quand il ne fait rien. Mais la multiplication des services de ce type commence à se faire sentir.

Citation:
Envoyé par h2s84 Voir le message
Si tu veux seulement une solution vraiment élégante sans timer, alors orientes-toi vers les services. En gros ton service windows héberge un service WCF. Ton application Web informe ton service à chaque qu'elle a inséré une demande avec succès en lui fournissant l'ID de la demande.
Je vais regarder à ca. Merci de l'info.
antrax2013 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h13.


 
 
 
 
Partenaires

Hébergement Web