Script php permanent (type CGI) communicant

clealex
Invité n'ayant pas de compte PHPfrance

06 juin 2008, 16:47

Bonjour tout le monde !

J'aimerais réaliser un site qui comporte une partie "calculs".

J'aimerais que le script qui se charge des calculs tourne en permanence
(lancé en ligne de commande ou CRON.. je vois à peu près comment faire)

Mais j'aimerais surtout que la ressource reflétant l'état du calcul soit disponible si on fait un GET sur cette page avec un navigateur ou avec AJAX

Disons que je sais faires des transactions ajax mais pas dans ce cas précis.

ex :
si on fait un get sur http://domaine.tld/bin/calc.php5 (qui est en train de tourner sur le serveur)
on a en retour calcul = 50 (peu importe le formatage)

Voyez-vous où je veux en venir ?

Une page php "classique" pourrait-elle également accéder à la ressource ?

Je cherche dans un premier temps quelques pistes pour orienter ma recherche :roll:


Merci pour votre attention !

ViPHP
ViPHP | 4039 Messages

06 juin 2008, 17:01

Salut. J'opterais plutôt pour un format type xml (ou RSS, mais ça reste du xml), ainsi les résultats seront lisibles et pourront être importés dans un autre programme.
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

cealex
Invité n'ayant pas de compte PHPfrance

06 juin 2008, 17:21

Salut. J'opterais plutôt pour un format type xml (ou RSS, mais ça reste du xml), ainsi les résultats seront lisibles et pourront être importés dans un autre programme.
Tu veux dire que le fichier de calcul crée des fichiers xml (par ex.) pour mettre la ressource à disposition; et qu'on y accède à part ?

N'y aurait-il pas quelques soucis de performance en cas de grosse sollicitation :
beacoup d'écritures et beaucoup de lectures en meme temps ?

et dans le cas ou les données doivent être sécurisées ?
placer la ressouce dans un dossier deny from all et générer une page de sécurité intermédiaire ?

Merci pour la réponse !

clealex
Invité n'ayant pas de compte PHPfrance

06 juin 2008, 18:13

Ou alors même, du coup, pourquoi ne pas stocker les variables en base de données et faire des pages qui y accède...

Mais ca n'est pas aussi direct que je l'aurais souhaité mais peut être autant pratique !

Administrateur PHPfrance
Administrateur PHPfrance | 449 Messages

06 juin 2008, 19:33

Si tu n'a pas besoin d'historiser tes calcul tu ne gagneras rien à mettre ca en BDD
En gros tu souhaites faire un webservice qui te retourne le résultat d'un calcul, soit un declenchement à la demande et non en permanence si j'ai suivi ?
Cordialement
Saeveas

http://saeveas.labrute.fr

Invité
Invité n'ayant pas de compte PHPfrance

09 juin 2008, 13:43

Si tu n'a pas besoin d'historiser tes calcul tu ne gagneras rien à mettre ca en BDD
En gros tu souhaites faire un webservice qui te retourne le résultat d'un calcul, soit un declenchement à la demande et non en permanence si j'ai suivi ?
J'ai pensé à la BDD pour mettre les variables accessibles en direct ( comme si elles étaient superglobales )

En fait si, le script de calcul tourne en continu

peut-être puis-je schématiser ainsi :

Calcul permanent => stockage de la valeur du calcul actualisé en permanence <= accès par web service

ViPHP
ViPHP | 4039 Messages

10 juin 2008, 10:47

Encore plus facile alors, tu n'as qu'a utiliser un cache en mémoire vive (hop => tuto !!), ou tes résultats son stockés au fur et à mesure de ton calcul, et quand un client appelle une page (que ce soit pour récupérer dans un autre logiciel par voie d'XML ou simplement pour afficher l'état sur son browser, tout ça n'est qu'une question de rendu), tu ne fais qu'appeler les valeurs stockées dans le cache en mémoire vive. Du coup, c'est beaucoup, beaucoup plus rapide qu'un accès BDD, et l'impact sur la performance est minime.

Si vraiment tu as peur pour la performance, tu n'as qu'a mettre à jour le résultat du calcul toutes les 1 à 10 minutes, et le reste du temps c'est une page toute faite qui va être servie aux clients.
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

clealex
Invité n'ayant pas de compte PHPfrance

10 juin 2008, 14:26

Encore plus facile alors, tu n'as qu'a utiliser un cache en mémoire vive (hop => tuto !!), ou tes résultats son stockés au fur et à mesure de ton calcul, et quand un client appelle une page (que ce soit pour récupérer dans un autre logiciel par voie d'XML ou simplement pour afficher l'état sur son browser, tout ça n'est qu'une question de rendu), tu ne fais qu'appeler les valeurs stockées dans le cache en mémoire vive. Du coup, c'est beaucoup, beaucoup plus rapide qu'un accès BDD, et l'impact sur la performance est minime. [...]
Ca en serait presque décevant de simplicité :-)
Merci beaucoup, je suis comblé, c'est parfaitement cette séparation calcul / données / accès que je recherchais.

J'aimerais bien m'enregistrer dans ce forum mais il me semble que le système de captcha soit malade (en tout cas il ne s'affiche pas chez moi ! = croix rouge)

clealex
Invité n'ayant pas de compte PHPfrance

11 juin 2008, 01:10

Nouvelle question : pourquoi OVH ne propose-t-il pas ces fonctionnalités sur ses hébergements mutualisés (meme sous php6, alors que j'ai lu que APC y serait natif) ?

Un autre moyen est il envisageable ?

Lequel est la moins pire des solutions restantes : BDD ou fichier ?

snif :cry: