Lancement automatique php sur insert sql

Billybobbonnet Messages postés 148 Date d'inscription lundi 12 février 2007 Statut Membre Dernière intervention 9 novembre 2013 - 28 sept. 2007 à 16:22
Billybobbonnet Messages postés 148 Date d'inscription lundi 12 février 2007 Statut Membre Dernière intervention 9 novembre 2013 - 1 oct. 2007 à 08:12
Bonjour,

Je bosse sur une appli en php/sql (grand débutant)et je veux trouver une solution au problème que voici:

Je récupère des fichiers uploadés et fais une insertion dans une base de données sql pour chaque fichier. Ces fichiers sont des vidéos et pour les encoder une par une, je voudrais conditionner sur la création d'une entrée le lancement d'un fichier php qui s'occupe d'encoder et de faire les insertions finales dans la base de données. J'ai lu des trucs à propos de "trigger" mais je n'arrive pas à savoir si c'est quelque chose qui peut me rendre service. J'ai donc deux solutions:

1- utiliser un script php qui fait une boucle. Au début de sa boucle il vérifie qu'il n'y ait rien dans la table, auquel cas il attend 20 secondes, et si il y a une entrée, il continue et accomplit les tâches que je lui ai confié. Le pépin > ça m'ennuie de laisser tourner ça en boucle, même si ce n'est pas trop groumand, je suppose.

2- Déclencher le lancement de ce script php lorsque l'entrée est ajoutée dans la DB (un trigger?), mais ça suppose que si il est déjà lancé, il ne se lance pas une 2è fois, et que si il y a plusieurs vidéos, il les traite toutes.

Un conseil svp?

4 réponses

Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
29 sept. 2007 à 11:17
Hello,

un sleep effectivement ne doit pas consommer des masses.

Le trigger est interne à mysql (pour les types de tables qui le supportent), donc t'y arriveras pas comme ça. Faudra aller vérifier chaque fois dans la base.

à+
0
Billybobbonnet Messages postés 148 Date d'inscription lundi 12 février 2007 Statut Membre Dernière intervention 9 novembre 2013
29 sept. 2007 à 13:43
Salut,

Merci pour ta réponse.

Je pense m'en remettre à la solution du sleep, dans ce cas. Plus précisément, j'ai ma page d'upload qui récupère les infos et les insère dans une base de données "a_encoder", et j'ai un bat au démarrage du genre "start php.exe monscript.php". Le monscript.php lit la première ligne de la base "a_encoder" et fait son boulot et efface l'entrée en question. Si il n'y a pas d'entrées, je fais un sleep de 10 sec et je revérifie, etc...

Pour la base, vous connaissez une façon de numéroter les lignes? J'ai testé avec un
champ ID auto-incrémenté mais il ne réattribue pas les id lorsque je
supprime une entrée...

Merci
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
29 sept. 2007 à 17:41
Pas besoin de renuméroter (et encore heureux). C'est comme ça qu'il faut faire.
0
Billybobbonnet Messages postés 148 Date d'inscription lundi 12 février 2007 Statut Membre Dernière intervention 9 novembre 2013
1 oct. 2007 à 08:12
Merci! Dernière question, comment je fais pour lire la première ligne de la base de données à coup sûr stp?
0
Rejoignez-nous