par
moogli » 16 déc. 2012, 13:55
salut,
il faut commencer par savoir pourquoi tu as des "requête qui se chevauchent".
Est ce que le temps de traitement n'est pas plus long que l'intervalle de la tâche cron ?
Pour le résoudre il y a plusieurs possibilités qui dépendent de ton architecture et de tes règles de gestion.
1/ as tu réellement besoin d'être réactif toutes les 10 secondes ? Est ce que tu ne peux pas imaginer un système de trigger qui réalise l'enchère automatique lorsqu'il y a une modification ?
2/ Comment fait tu pour arbitrer deux personnes en auto sur la même offre ?
3/ Comment évite tu un boucle infinie (parce que si pas de limite les mecs vont enchérir en boucle.
Coté solution tu peux imaginer, un script qui sert de pile, qui est le seul a pouvoir exécuter les requêtes de mise a jour et les exécutes l'un après l'autre dans l'ordre d'arrivée (fifo) ?
tu peux aussi utiliser une procédure stockée qui lock la table évitant des modif des autres, faut les recherches / calculs qui vont bien, la mise a jour et rend la main a la fin.
@+
salut,
il faut commencer par savoir pourquoi tu as des "requête qui se chevauchent".
Est ce que le temps de traitement n'est pas plus long que l'intervalle de la tâche cron ?
Pour le résoudre il y a plusieurs possibilités qui dépendent de ton architecture et de tes règles de gestion.
1/ as tu réellement besoin d'être réactif toutes les 10 secondes ? Est ce que tu ne peux pas imaginer un système de trigger qui réalise l'enchère automatique lorsqu'il y a une modification ?
2/ Comment fait tu pour arbitrer deux personnes en auto sur la même offre ?
3/ Comment évite tu un boucle infinie (parce que si pas de limite les mecs vont enchérir en boucle.
Coté solution tu peux imaginer, un script qui sert de pile, qui est le seul a pouvoir exécuter les requêtes de mise a jour et les exécutes l'un après l'autre dans l'ordre d'arrivée (fifo) ?
tu peux aussi utiliser une procédure stockée qui lock la table évitant des modif des autres, faut les recherches / calculs qui vont bien, la mise a jour et rend la main a la fin.
@+