Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Je voudrais faire des tâches en 'cron'.
Comment faire des crons sécuriser? ou mettre le traitement des crons?
Faire un module spéciale pour les crons, un controller, un fichier php dans le répertoire public?
Tout en sachant que j'aurais besoin des accès à la base de données.
Merci pour votre aide les zender's
Hors ligne
Salut,
Amha, tu peux faire un script qui initialise ton appli via un bootsrap (spécifique?) un peu comme dans ton index.php.
Comme ça tu pourras utiliser l'API d'accès à tes données avec l'autoload, tout ça tout ça...
Pour des raisons de sécurité, les scripts accessibles en GET (dans ton ./public ou action de contrôleur) sont clairement à proscrire, un visiteur mal-intentionné ou un moteur de recherche qui indexe ton site pourrait les lancer.
A+
Nicolas
Hors ligne
perso je fais un simple script que j'appelle avec curl
j'utilise un certificat pour signer l'appel que le script va valider auprès de son autorité (tout peut être sur une même machine)
si le certificat est validé alors il exécute une simple action de mon application.
A+JYT
Hors ligne
@GueloSuperStar : si tu veux faire des crons qui lancent vraiment des scripts php client, il ne faut pas les mettre dans un module. Le MVC du ZF est "spécial web". L'idée c'est de ne pas utiliser de MVC.
Dans mes projets je fais un script runScript.php qui initialise tout ce qui va bien, une sorte de bootstrap pour scripts et qui lance le script fourni en paramètre.
J'utilise Zend_Console pour récupérer les paramètres envoyés à runScript.php
Ma ligne de commande pour lancer le script ressemble à :
php runScript.php -f mon_script_a_lancer.php
A+, Philippe
Hors ligne
Merci à tous pour vous êtes penché sur mon problème.
@philippe @nicol@s vous avez je pense la même solution, je vais essayer de la mettre en œuvre.
Donc si j'ai bien compris, il faut que je fasse une sorte de "bootstrap" pour initialiser base et autres éléments dont j'aurais besoin.
Ensuite mes scripts php (cron).
Et après comment je fais pour les exécuter avec le 'bootstrap' créé, et ou je met tout cela?
Dernière question moi je vais faire des tâches planifiées donc je ne pourrais exécuter mes crons en ligne de commande, comment je peux faite cela?
@sekaijin comment je fais pour faire cela : "un certificat pour signer l'appel que le script va valider auprès de son autorité (tout peut être sur une même machine)"
Merci les Zender's
Dernière modification par GueloSuperStar (09-12-2009 10:59:33)
Hors ligne
UP merci les Zender's
Hors ligne
Bonjour,
tu peux aussi regarder du coté de ton hébergeur.
La plupart proposent des outils d'administration pour gérer les taches planifiées.
Dernière modification par _Fuse_ (11-12-2009 12:02:19)
Hors ligne