Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Cron avec Jelix - Urgent !!!

Posted by gasyleiss on 11/22/2007 16:03

Bonjour, Voilà le contexte et le problème : Pour lancer des crons avec jelix, j'ai utilisé wget sur le serveur local. Sur le serveur distant(hébergeur), wget n'est pas disponible.

J'ai donc utilisé cmdline pour le contourner. Je vais donner un exemple d'application.

 Application : 
 test
 Modules/ 
  accueil/controllers/default.classic.php
  commun/
  cron/controllers/crontab.cmdline.php
  ...
 plugins/
 response/
 scripts/cmdline.php
 var/
 www/
 ...

Dans /var/config/defaultconfig.ini.php :

 startModule = "accueil"
 startAction = "default_index" 

Dans le fichier crontab.cmdline.php que j'ai créé dans le répertoire (module) cron : /modules/cron/controllers/crontab.cmdline.php , j'ai la classe

  class CrontabCtrl extends jControllerCmdLine

et une action traiter()

Pour le lancement via la ligne de commande donc, j'ai fait comme ceci :

 -bash-3.1$ php scripts/cmdline.php crontab_traiter

Et j'ai comme erreur :

 -bash-3.1$ [error 100] Action crontab_traiter : le fichier contrôleur /var/www/jelix/test/modules/accueil/controllers/crontab.cmdline.php n'existe pas    
 /var/www/jelix/lib/jelix/core/jCoordinator.class.php   233

Je ne comprends pas pourquoi il essaye de chercher mon fichier crontab.cmdline.php dans /modules/accueil/controllers/

Une idée ?

Merci pour votre aide ....

  [Opened] Re: Cron avec Jelix - Urgent !!!

Reply #1 Posted by bballizlife on 11/22/2007 19:04

Tu demande à lancer l'action crontab_traiter sans fournir le module dans lequel se trouve le controller et l'action. Si tu as seulement déclaré le startModule = 'accueil' dans le defaultconfig.ini.php c'est donc tout à fait logique, tu ne trouves pas ?

Maintenant pour arranger ton souci, soit tu fais :

 $ php scripts/cmdline.php cron~crontab_traiter

Soit dans ton fichier var/config/cmdline/config.ini.php tu mets :

 startModule = 'cron'

Et tu pourras ainsi lancer ton script :

 $ php scripts/cmdline.php crontab_traiter

Voir, toujours dans ton cmdline/config.ini.php :

 startModule = 'cron'
 startAction = 'crontab_traiter'

Et tu lanceras ton traitement simplement via :

 $ php scripts/cmdline.php

N'importe comment c'est dans la doc

 
Page
  1. Re: Cron avec Jelix - Urgent !!!