TÂCHES AUTOMATISÉES - CRON

FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 - 13 oct. 2005 à 11:36
astuces_jeux Messages postés 731 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 27 mai 2010 - 19 juin 2007 à 20:27
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/34182-taches-automatisees-cron

astuces_jeux Messages postés 731 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 27 mai 2010
19 juin 2007 à 20:27
moi j'ai une erreur webcron avec la function gzip
astuces_jeux Messages postés 731 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 27 mai 2010
19 juin 2007 à 20:26
il y a pas un code ou on ne doit pas auvrir dans un navig ???
cs_Antidote Messages postés 163 Date d'inscription lundi 29 septembre 2003 Statut Membre Dernière intervention 8 mai 2010
17 oct. 2005 à 19:08
Et en faisant joujou sur un flux RSS vu qu'eux on des temps d'actu que tu peux régler.

Tes internautes intègrent le flux, à chaque appel de mises à jour du flux ton script est joué... Ça pourrait être une idée.

J'ai jamais monté de RSS donc j'en sais rien ^^

ahem (mieux orthographié ^_^)
cs_Antidote Messages postés 163 Date d'inscription lundi 29 septembre 2003 Statut Membre Dernière intervention 8 mai 2010
17 oct. 2005 à 19:06
et en faisant joujou sur un flux RSS veux qu'eux on des temps d'actu que tu peut régler.

tes internautes intergrent le flux, a chaque appelle de mises à jour du flux ton script est joué... Ça pourrait être une idée.

J'ai jamais monté de RSS donc j'en sais rien ^^
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
17 oct. 2005 à 13:31
ouais c'est du crade de chez crade, et hyper gourmand en plus ^^
xk155 Messages postés 4 Date d'inscription lundi 27 juin 2005 Statut Membre Dernière intervention 27 avril 2006
17 oct. 2005 à 08:54
Une solution pourrait-être d'intégrer ce script dans une page html avec un auto-refresh de délai court. Il chargerai sa page dans un navigateur. Aprés, il suffit de ne pas fermer la page en question.
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
13 oct. 2005 à 21:27
webcron c'est gratos...
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
13 oct. 2005 à 20:35
Bah c'est pareil avec Webcron, c'est payant !!! Si mon site accueil tout le temps des visiteurs mon système fonctionnera de la meme manière ! :D
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
13 oct. 2005 à 20:25
si t'as le budget ouais, enfin c'est déjà pas la même chose là...
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
13 oct. 2005 à 20:21
ou tu changes de serveur...
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
13 oct. 2005 à 20:09
bah si il permet pas de lancer des tâches cron tu passes par webcron
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
13 oct. 2005 à 19:33
Bah oui, mais si le serveur ne le permet pas de lancer des taches CRON ???
Voila le pourquoi j'ai fait comme ceci !!! :D
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
13 oct. 2005 à 18:47
Bon, selon moi, on pourrait peut-être faire un script php ou autre qui serait lancé par le vrai CRON et qui exécuterais des requettes présentes dans une table mysql si la date est bonne...

Ce script a de l'idée, mais ne peut fonctionner que sur un site fréquenté régulièrement...
cs_Kanouille Messages postés 3 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 13 octobre 2005
13 oct. 2005 à 14:34
c'est aussi une solution ;)
Mais l'idée et la même. N'avoir en Base de donnée qu'un seul champ.
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
13 oct. 2005 à 14:31
ah je viens de comprendre, pour une date stockée dans un INT un seul champ suffit, tu stockes la valeur de la fonction time() et hop...
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
13 oct. 2005 à 14:30
c'est plus lourd : un INT occupe 4 octets (32 bits), le datetime en occupe deux fois plus.

ensuite je ne vois pas en quoi la requête est plus lourde, au contraire.
cs_Kanouille Messages postés 3 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 13 octobre 2005
13 oct. 2005 à 14:15
Hmm pas convaincu que ca occupe moins de place, compte tenu que pour la base de donnée ce n'est ni plus ni moins qu'une chaine de caractère un peu particulière(enfin c'est ce que j'en avais lu).
Cependant, dans le cas de multiple champ pour générer une date, le traitement de la requête sera parcontre plus lourd vu qu'il y a plusieurs champs à examiner, au lieu d'une seule. C'est d'ailleur pour cette raison que les types DATE et DATETIME ont été créer ^^

Ainsi au final, si la syntaxe ne te plait pas, tu peux tout aussi bien utiliser une chaine de caractère que tu considère comme une date mais auquel tu donne la syntaxe que tu veux ^^.
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
13 oct. 2005 à 14:04
Pour le datetime je ne suis pas d'accord : ça occupe plus de place et c'est moins aisé à traiter ;-)
cs_Kanouille Messages postés 3 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 13 octobre 2005
13 oct. 2005 à 14:03
Je ferais juste une remarque concernant le titre de ton code.
En effet, il ne peut être qualifier de cron puisqu'il doit être chargé par un navigateur (comme l'a dit FhX), ou plus exactement, un navigateur doit faire une requète au serveur pour que celui-ci l'exécute.
Or un CRON est en soit un script qui est lancé de manière périodique par le serveur seul.
Pour optenir ce résultat, il faut avoir accès à la configuration de ton serveur et modifier la variable "crontable" qui est un fait un tableau où s'ont enregistrer l'ensemble des crons qui doivent être lancé à une date,heure,min,sec précise, périodiquement ou non.

Si j'ose rajouter quelques remarques :
- tu peux remplacer tes variables de date (jour, mois, année, etc) par une seul de type "DATETIME" dans ta base de donnée. Elle dispose d'une syntaxe certe particulière qu'il faut connaitre si on veut pouvoir l'utiliser correctement : "Y-m-d H:i:s" ce qui correspond à ANNEE-mois-jour HEURE:minute:seconde

Tu peux générer facilement ce genre de date par la fonction : date() => date('Y-m-d H:i:s')
Pour plus d'information sur la fonction date() je te conseille le site : www.nexen.net

Enfin, pour plus de clarté dans ton code, essaie de séparer des variables php de tes chaines
> Date actuelle ::> $date_actuelle -- $date_a_venir <:: Prochaine execution
> Date actuelle ::> ".$date_actuelle." -- ".$date_a_venir.3 <:: Prochaine execution
Un peu comme tu te dois de le faire en javascript :)
Ta version marche très bien, mais disons qu'elle est moins lisible face à de longues chaînes.
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
13 oct. 2005 à 13:20
Salut,

idem que FhX, en rajoutant quelques trucs :

n'utilise pas de SELECT * mais un SELECT champ1,champ2...

lorsques tu utilises tes champs ne met pas $day $res[day]; mais $day $res['day'];

etc...
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
13 oct. 2005 à 11:36
Pour ca il faut que la page soit chargé dans un navigateur quelconque !
Rejoignez-nous