Bonjour à tous,
Je dois écrire un script php qui traitera une queue de "transactions bancaires" qui se déroulent comme suit :
1/ L'utilisateur effectue un virement d'un compte vers un autre
2/ Un check est effectué sur plusieurs paramètres
3/ Si les checks sont ok alors on place les virements à effectuer dans une queue (une table mysql)
4/ Un script infini traite par lots les transactions qui sont dans la queue et effectue des changements dans la DB
Le script php infini sera lancé en shell sur le serveur web.
Genre : [machine]$queueHandler start
Le queueHandler sera un objet instancié une seule fois et qui traitera la queue.
Pseudo-code :
$work = true;
while($work) {
....
}
Seulement, lorsque le script sera interrompu de manière intentionnelle, je ne veux pas qu'il soit coupé avec un kill -9 PID ...
Avez vous une solution propre pour par exemple mettre $work = false ?
J'ai pensé à mettre un flag quelque part dans la DB et changer ce flag si je veux l'arreter => une requete a effectuer sur ce flag à chaque passage dans la boucle while ... mais ca fait une requete en plus (même si elle ne sera pas lourde)
D'avance merci
Partager