France Hardware : Forums de discussion
Retrouvez les prix près de chez vous :  
Index du forum | Liste des membres | Liste des groupes | Inscription | F-A-Q | Recherche
Pseudo :    Password :     
22 646 membres enregistrés - 1 884 026 posts - 96 217 topics
Index des forums FH  | Index des forums DegroupNews
      Programmation
           [php] Timer
17 connectés(record : 207 le 05 juin 2007 - 05 h 23)

Vous devez vous connecter pour répondre au topic.
[php] Timer

Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 28 juillet 2005 - 15 h 51 m 47 s
j ai vu sur internet ce code pour creer un timer:
    Code     
 1. <?php
 2. 
 3. function attente($time)
 4. {
 5.     $tmp_time = time();
 6.     $i = $tmp_time;
 7.     $time = $tmp_time + $time;
 8.     while ($i < $time)
 9.     {
10.         If (time() != $i) { $i++;}
11.     }
12. } 
13. 
14. // Pour lancer la fonction : attente(secondes)
15. //Par exemple pour 10 secondes :
16. 
17. attente(10);
18. 
19. ?>

moi je comprends pas trop, ce code ce lance 1 fois et c fini!

pourtant on est bien d accord que logiqement un timer va repeter le code plusieurs fois?
de plus on met on le code que l on veut executer par exemple toutes les 10s?

merci d avance



- je cherche un emploi
ICI


Woofy
Pour les bons tuyaux me demander

Messages : 26 196
Inscrit le 11/01/02
Ville : Paris / Grenoble
Non connecté
  Posté le 28 juillet 2005 - 16 h 44 m 05 s
Y a pas une fonction sleep en php? Ou repeat?


EDIT : repeat non, mais sleep et usleep oui!
http://fr.php.net/manual/fr/function.sleep.php

EDIT 2 : la fonction qu'ils te donnent ne fait qu'attendre en fait (et je me demande si ca va pas surcharger plus le processeur que la fonction sleep) et donc il faut que tu mette ca dans une boucle. N'oublie pas la condition d'arrêt!


Message édité 2 fois, la dernière par Woofy le 28 juillet 2005 - 16 h 47.

:smileymouth: Totalement inutile, donc completement indispensable :smileymouth:

:sms:


Petit_PimoOosE
rsqrtps & pshufb

Messages : 4 617
Inscrit le 15/06/03
Ville : Montréal
Non connecté
  Posté le 28 juillet 2005 - 18 h 45 m 55 s
Très honnêtement, s'il y a bien une méthode que j'éviterais, c'est celle de la boucle d'attente ;)
Woofy a raison, le polling monopolise le processeur. Par contre, un sleep, ça endort le processus pour le temps demandé, donc ça ne demande rien comme ressources.


Message édité 1 fois, la dernière par Petit_PimoOosE le 28 juillet 2005 - 18 h 46.

Huile de fraise.

gege38
Modérateur
Chief of the
(¯`·.__[T3aM.BouL3T©]__.·´¯)
Potatoe Reloaded

Messages : 14 097
Inscrit le 05/02/03
Ville : Domène
Non connecté
  Posté le 28 juillet 2005 - 19 h 29 m 54 s
A 200% d'accord avec Pépé...

Bon sang, n'importe quelle personne ayant reçue une formation correcte en dév sait qu'une attente active est à éviter, contrairement à une attente passive !

C'est la base du multi-tâches !



" Nous plaisons plus souvent dans le commerce de la vie par nos défauts que par nos qualités. "
--La Rochefoucauld


Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 29 juillet 2005 - 19 h 12 m 22 s
je me sens pas vise je n ai pas recu de formation en dev correcte :(



- je cherche un emploi
ICI


Woofy
Pour les bons tuyaux me demander

Messages : 26 196
Inscrit le 11/01/02
Ville : Paris / Grenoble
Non connecté
  Posté le 29 juillet 2005 - 21 h 50 m 55 s
C'est pas grave, maintenant du sais ;) :D



:smileymouth: Totalement inutile, donc completement indispensable :smileymouth:

:sms:


Petit_PimoOosE
rsqrtps & pshufb

Messages : 4 617
Inscrit le 15/06/03
Ville : Montréal
Non connecté
  Posté le 30 juillet 2005 - 02 h 12 m 18 s
Juste pour "concrétiser" un peu le problème :
Mettons que tu doives faire quelque chose de précis à une certaine heure.

Avec une boucle d'attente, tu restes les yeux fixés sur l'horloge, et tu ne peux rien faire en même temps.
Avec sleep(), tu règles ton réveil à l'heure dite, ce qui fait que pendant ce temps, tu peux faire autre chose.

Je vois un autre problème potentiel (je ne suis pas sûr, par contre...) : tu as une variable ($time) et une fonction (time()) qui portent le même nom... Ça ne sème pas la confusion dans l'interpréteur ?



Huile de fraise.

Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 30 juillet 2005 - 11 h 41 m 15 s
voila ce que j ai reecrit (bcp plus simple):

while(date('H:i')!='20:00')
{
sleep(1);
include 'code.php';
}



- je cherche un emploi
ICI


Woofy
Pour les bons tuyaux me demander

Messages : 26 196
Inscrit le 11/01/02
Ville : Paris / Grenoble
Non connecté
  Posté le 30 juillet 2005 - 12 h 28 m 34 s
Pas mal.

En gros ton code se repete toutes les secondes jusqu'a 20h.

Question... ca sers a quoi?



:smileymouth: Totalement inutile, donc completement indispensable :smileymouth:

:sms:


Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 30 juillet 2005 - 13 h 18 m 38 s
c un peu complique a expliquer....

en grosj ai un fichier qui s ecrit en temps reel avec tethereal (oui le fichier en question est en fait une trame IP)
Ensuite je recupere dans ce fichier des choses bien precises(numero de telephone) que j envoi a ma base de données pour une remontee de fiche.
C est pour cela que j ai besoin d avoir un qui puisse s executer tres tres svt et apres 20h il y a plus personne qui appel ou bien c est negligeable.
Seul soucis actuel: mon timeout pour le temps d execution d une commande. Le mien est actuellement a 30s...pour durer en gros 8h, va falloir que je l augmente serieusement. Es ce que ca peut consituer un risque quelconque?



- je cherche un emploi
ICI


Petit_PimoOosE
rsqrtps & pshufb

Messages : 4 617
Inscrit le 15/06/03
Ville : Montréal
Non connecté
  Posté le 30 juillet 2005 - 18 h 12 m 24 s
Tu as accès à cron sur ton serveur (s'il est sous *nix) ? Si oui, tu peux lancer ton script PHP à intervalle régulier, toute la journée.

Par ailleurs, j'ai peur que ça fasse bizarre au client de recevoir des données pendant plusieurs heures, donc je maintiens pour le cron (ou le planificateur de tâches).



Huile de fraise.

kha
Google is your best friend

Messages : 1 235
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 31 juillet 2005 - 02 h 08 m 36 s
franchement.... Si ca doit prendre des donnes d un fichier, les envoyer dans une BD, et le tout programme a certains moment, php c est pas la meilleure solution...

En java tu peux le faire facilement. En C aussi mais l apprentissage recquis est + long.

Check la classe Timer par exemple en java
http://java.sun.com/j2se/1.5.0/docs/api/




Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 31 juillet 2005 - 21 h 22 m 23 s
non non j envoi rien dans une base de donnees!

j envoi juste une requete de type select a ma base de donnees pour verifier si le numero existe. bref la n est pas la question.

quel avantage j aurais en java par rapport au php?

le timer est le meme de chaque cote de tte façon...

mais c vrai que pour un autre truc (connexion sur un port a distance pour recuperer des informations) je pense faire ca en java...Alors un peu plus ou un peu moins :)



- je cherche un emploi
ICI


kha
Google is your best friend

Messages : 1 235
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 01 août 2005 - 01 h 28 m 03 s
la principale raison pour utiliser le java a la place du php, c est que le php est tres limite par rapport, surtout pour ce que tu veux faire.

Le php c ets surtout utile pour dynamiser la presentation d une page web a partir d une BD. C est pas fait du tout pour traiter en temps reel mou des trames et envoyer l info qq part.

Surtout que la tu utilises un programme externe, du php et tu veux aussi utiliser du java...

Franchement, tu te compliques vie pour rien ;)

En java, tu pourrais facilement faire un programme qui attend des entrees stdin (qui sera la sortie de ethereal) et qui traite cette entree (la trame) poru recupere les infos necessaie. Ensuite tu te connecte a la bd et tu fais tes autres trucs. T as pas besoin de te compliquer la vie avec du php.

Si tu veux je pourrais te donner un coup de main : ca m interesse comme truc, surtout que je fais pas mal de java.

Si tu me donnes + de details je peux te faire une ebauche de programme que tu pourras modifier pour l adapater plus a tes besoins.




Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 01 août 2005 - 09 h 27 m 51 s
une question:
es ce que je peux carrement dire a tethereal d envoyer les infos directement au programme java sans passer par un fichier texte? es ce que java saura recuperer les trames? parce que ca serait encore plus simple si ca marche ainsi...

(pour tethereal il suffit de dire ou on l envoi c tres simple)



- je cherche un emploi
ICI


kha
Google is your best friend

Messages : 1 235
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 01 août 2005 - 19 h 32 m 38 s
oui : suffit que tu fasse une redirection (un pipe) sur ta ligne de commande et els sorties de tethereal seront redirigee dans System.in en java




Page genérée en 0.4950 secondes par RahForum 2.0 | Gzip off |  Stats |  Metaforums |  RSS
© 2004 Cerbere Systems.
Prix Matériel Informatique | Informatique Lyon | Informatique Grenoble | Informatique Annecy | Informatique Marseille | Informatique Bordeaux | Forum Informatique
ADSL |Actualité ADSL | e-commerce | Commande Au Volant
Creative Commons
Message Boards and Forums Directory