IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Aide pour la création de Task -> Config OVH [1.x]


Sujet :

Symfony PHP

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Par défaut Aide pour la création de Task -> Config OVH
    Bonsoir à tous !

    Je vous explique ce que je souhaite faire à la base: je voudrais juste décrémenter une valeur dans ma base de donnée.
    J'ai tout de suite pensé au taskcron...

    J'ai ensuite vu que Symfony avait son système de task... Mais je ne comprend pas trop ce que c'est exactement...

    La commande generate:task permet de créer une class. Est ce cette classe que le serveur doit appeller ?

    Y a t il quelque chose de spécial à faire pour la configurer ?
    Toute la fonction configure est un peu vague pour moi...
    Je suppose que c'est dans la fonction execute que je dois faire mon update de la BD... ??

    Voilà tout pleins de questions !!

    Merci d'avance pour votre aide !!

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 11
    Par défaut
    Hello !

    Tout est pourtant assez bien présenté ici

    Effectivement cela se joue dans la fonction configure, où l'on détermine le namespace de la task, son nom, la connexion à la db qu'elle doit utiliser ainsi que les options et les arguments qu'elle peut prendre en entrée.

    Typiquement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        $this->namespace       = 'elao';
        $this->name               = 'le-nom-de-ma-task';
        $this->briefDescription = 'Description optionnelle de ma task';
    avec cette config ta task sera exécutable à partir de la racine de ton projet via un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ./symfony elao:le-nom-de-ma-task [options] [arguments]
    Les options et les arguments sont également paramétrables via les directives

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $this->addOption('mon_option', null, sfCommandOption::PARAMETER_OPTIONAL, 'Permet de spécifier mon_option', 'valeur_par_defaut');
    Comme tu le constateras il est possible de rendre une option obligatoire ou optionnelle.

    Il en va, à peu de choses prêt, de même pour les arguments.

  3. #3
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Je pense que tu peux trouver des informations sur les tâches répétitives sous symfony sur l'article "Premiers pas avec Supervisor : « daemonisation » d’une task Symfony"du blog de Sébastien Porati

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Par défaut
    Bonjour à tous et merci pour vos réponses !

    J'ai fait plusieurs tests qui fonctionne lorsque je lance ma tâche en commande.
    Par contre, savez vous comment faire pour utiliser "Le planificateur de tâches" sur OVH ?

    J'ai écrit un fichier bash où il y a la commande qui lance la tâche. Je suis sur de cette commande mais elle ne fonctionne pas...
    Pas facile de tester vu que la tâche se lance chaque heure...

    Sur OVH il faut renseigner le script à executer: quel format de fichier pour le bash ? task.c ?

    Autre choses à propos de la tâsk sous symfony:
    - A quoi correspond le namespace ? est ce important ?

    Si vous avez des réponses ou commentaires hésitez pas !

    Merci d'avance

    -- Edit --

    Alors le format du fichier semble être task.cgi.
    Lorsque je lance ./task.cgi à la main il lance bien ma tâche symfony.

    Mon soucis maintenant c'est sur OVH: j'ai l'impression qu'il ne pointe pas vers mon .cgi.
    L'adresse du script a quoi comme origine?
    La racine ? Le www ?

    J'ai essayé les deux mais ça ne semble pas fonctionner !

  5. #5
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Il n'y a pas un dossier cgi ? ou cgi-bin ?

    Je n'ai essayé qu'une fois d'utiliser ce truc chez ovh, et ce n'était pas avec symfony.

    En fait, je suis passé par un outils de cron externe (plus le nom en tête et l'appli ne tourne plus depuis un an), qui me permettait un lancement toutes les 15s. Par contre, c'était une url.

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Par défaut
    Non, je n'ai pas ce dossier. Et OVH n'y fait pas référence dans le tuto !

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Par défaut
    Bonjour à tous !

    Je remonte le sujet après avoir travaillé dessus...
    Rien n'a changé depuis le dernier post (vacances :p)

    Sur ovh je lui dit de lancer un fichier task.cgi.

    Ce fichier est bien exécuter puisque j'ai fait un test de création de dossier.

    Cependant ma commande pour lancer la tache symfony ne fonctionne pas...

    Voici son contenu:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #!/bin/bash
     
    mkdir LOL
    cd /homez.139/nom/site
    php.BETA /homez.139/nom/symfony-1.4.4/data/bin/symfony faim
     
    mkdir LIL
    faim étant le nom de ma tâche symfony.
    Il crée bien le dossier LOL et LIL...

    Le log envoyé par ovh :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    -------------------------==  Début  ==-------------------------
     
    /homez.139/nom/www/task.cgi: line 6: php.BETA: command not found
     
    -------------------------==   Fin   ==-------------------------
    une idée du soucis??

    Merci d'avance

    --Edit--

    Lorsque je fait ce code via ssh (avec putty) ça marche nikel ! ??? :s :s

  8. #8
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Par défaut
    SOLUTION

    Alors pour ceux qui cherche la solution !

    Mon fichier .cgi contient ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #!/bin/bash
     
    cd /homez.139/name/izkal
    /usr/local/bin/php.BETA /homez.139/name/symfony-1.4.4/data/bin/symfony nomDeLaTache
    Dans mon exemple, le .cgi se trouve dans le dossier www.
    Je me déplace donc dans le projet adéquat au début du script.
    Ensuite je lance la commande Symfony en utilisant php5.3 de OVH.

    Merci pour votre aide !!

  9. #9
    Membre confirmé

    Profil pro
    Inscrit en
    Avril 2002
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2002
    Messages : 78
    Par défaut
    hello,

    dans le cadre de mon projet, je dois créer une tâche automatique.
    en gros, une tâche va être exécutée à chaque fois qu'une condition sera satisfaite (dans mon cas sera une date).

    Je viens donc de découvrir le système de tâche de symfony décrit par le cookbook référencé dans ce thread.

    Ma question est la suivante : j'ai vu que les versions référencées pour ce système sont la 1.1. et 1.2.
    Est-ce ce système est aussi adapté à la version 1.4 ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/11/2006, 22h52
  2. Aide pour la création d'un JavsScript
    Par koKoTis dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 17/08/2006, 15h44
  3. Réponses: 1
    Dernier message: 17/05/2006, 15h27
  4. Réponses: 2
    Dernier message: 10/03/2006, 13h55
  5. [Oracle] Aide pour la création d'un trigger
    Par Sonic dans le forum Administration
    Réponses: 14
    Dernier message: 04/11/2004, 19h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo