"processus"

Répondre
Michel_57
le 10/08/2006 à 04:13
Michel_57
Tout d'abord salut à tous, ça fait un bail que je ne suis pas venu ^^ comment allez-vous ?
Heu je vais vous expliquer mon problème :

Est-il possible de coder une page en php qui s'exécute un peu comme un processus windose, c'est à dire qui s'active et ne s'arrête pas sauf sur demande, et qui traîterait en temps réel certaines choses ?

J'ai un peu de mal à expliquer, je vais essayer de faire un exemple :

Supposons que j'ai une page "formu.php" avec les champs "adresse", "texte", "date". Lorsqu'on valide le formulaire, au lieu mettre ces infos dans la bdd on stocke ces données je ne sais où, dans la ram du serveur par exemple.
Est-il possible de faire un script "mail.php" qui traîte tous ces résultats de formulaires, pour envoyer les mail aux heures choisies dans le formulaire ?
Car tout mettre dans une base de données et faire un cron qui va vérifier toutes les secondes dans la base de données si il est l'heure d'envoyer un mail me semble inaproprié !

Voilà j'espère que mon explication est compréhensible.

Merci d'avance pour vos lumières !
Merci LEPHPFACILE et tous ses membres :)
Bzh
le 10/08/2006 à 10:02
Bzh
Alors faire éxécuter un script en boucle serait possible à trois conditions:

=>Que le navigateur ne se ferme jamais et ne bloque pas après une certaine durée
=>Que le serveur n'est pas de durée max d'exécution pour un script !
=>Qu'il y est une gestion de priorité de threads etc ...

Aucune de ces conditions n'est respecté, donc en gros NON !

Ce que je ferai, c'est de codé un script (python, bash etc...) qui tournerai directement sur le serveur et qui gerera ça !

Ou sinon, si tu as plus d'une requette HTTP par seconde, tu peux lancer un script à chaque ouverture de pages de ton site (mais ça reste du bricolage) ...

Pour ce genre de choses, si tu n'as pas accès direct au serveur, il est très difficile de faire quelques choses qui ne soit pas une usine à gaz !!!

Voila...
Michel_57
le 10/08/2006 à 14:37
Michel_57
merci pour ta réponse.
c'est bien ce que je me disais, il faut utiliser un autre langage ... mais je ne sais pas du tout lequel ! car il faut que certains scripts php puissent envoyer des données à ce programme, et que ce programme puisse effectuer des requètes sql aussi.

si tu pouvais me conseiller sur quel langage utiliser ce serait sympa car je ne sais pas dans quelle direction chercher et je ne m'y connais pas du tout ! je sens que l'interaction php/programme va être dure à réaliser :/

en attendant une réponse je vais me documenter sur bash et python alors.

ps : si un modo passe par là : je crois que j'aurais du poster dans "Autres technologies" plutôt que dans "php/mysql"
Merci LEPHPFACILE et tous ses membres :)
LupusMic
le 10/08/2006 à 16:41
LupusMic
(Michel_57) Tu es dans le bon forum. Parce que ce que tu demandes est possible.

Tu peux utiliser PHP pour écrire des applications. Aussi bien des scripts Web que des application fenêtrées ou des daemons. Maintenant, que veux-tu comme application ?

N'essaye pas de programmer des applications en bash, tu vas t'arracher les cheveux.

En ce qui concerne le fait d'avoir une interface de saisie et un cron qui parcours la table pour les updates, c'est ce qui ce fait dans beaucoups de gros intrawebs. Donc, pas de remords de ce côté là !

(Bzh) Tu pars du principe que PHP ne peut que générer du HTML, ce qui est faux.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Michel_57
le 10/08/2006 à 17:30
Michel_57
En ce qui concerne le fait d'avoir une interface de saisie et un cron qui parcours la table pour les updates, c'est ce qui ce fait dans beaucoups de gros intrawebs. Donc, pas de remords de ce côté là !


oui mais le problème c'est que ça va coûter très cher en ressources pour le serveur, car il va falloir lancer le cron toutes les secondes, ce qui fait déjà rien que 3600 requètes/heure minimum ça me semble super lourd ! Et de plus l'écriture dans la base de données, puis la lecture et enfin l'effacement ça doit le fatiguer aussi le serveur, je pensais que ce serait plus simple de tout laisser dans la ram (je ne sais pas comment) et de mettre les actions dans une file d'attente rangée par ordre chronologique. le programme attendrait donc qu'il soit l'heure indiquée dans le premier élément de la file pour le traîter, faire les opérations correspondantes dans la bdd, puis supprimer l'élément de la file et passer au suivant. (le système tête/queue en gros)

si php permet de concevoir ce genre de programme, je suis preneur !

ps : on part du principe que j'ai tous les droits sur le serveur et que j'héberge moi même mes scripts, si c'est plus simple à concevoir je ferai ainsi plutôt qu'un hébergement classique.
Merci LEPHPFACILE et tous ses membres :)
Bzh
le 10/08/2006 à 17:34
Bzh
Oui je sais bien que PHP permet d'écrire des applications à part entière !

PHP + GTK permet des gérer des prog fenestrés !

Mais est-ce vraiment dans sans cette optique là que php est developpé ? Le trouve tu vraiment optimisé pour cela ?

S'il y a des langage comme le C ou le python en plus haut niveau c'est qu'il y a une raison !!!

Enfin je pense ...
Bzh
le 10/08/2006 à 20:35
Bzh
Python est un langage MAGNIFIQUE !

Tout comme php il est LIBRE :
Il est multiplateformes, peut se compiler pour faire un exe indépendant ! Et surtout il est magnifiquement simple !

J'en suis littéralement tombé amoureux !!!!
Bzh
le 10/08/2006 à 20:36
Bzh
Heu, mince, tout ça pour dire que, de toute façon, tu ne fais pas fausse route !

Voili ...
Michel_57
le 10/08/2006 à 21:02
Michel_57
ok merci bien :)

et si tu aimes tellement ce langage tu as peut-être envie de partager cette passion, alors n'hésites pas à m'envoyer des liens (par MP pour éviter de flooder ici) qui pourraient m'être utiles smiley
car je vois bien les bases du langage c'est facile à assimiler mais pour faire interagir python avec ma bdd et mon script php, ça va être plus coton donc toute aide est la bienvenue ^^
Merci LEPHPFACILE et tous ses membres :)
Répondre
LoadingChargement en cours