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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Besoin d'aide pour tâche CRON "Error incorrect request".


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Invité
    Invité(e)
    Par défaut Besoin d'aide pour tâche CRON "Error incorrect request".
    Bonjour,

    j'ai un site de vente, et j'ai créé 3 tâches CRON sur mon cPanel, cependant, quand je fais un achat via un utilisateur créé. J'ai des erreurs de logs "Error, incorrect request"
    Parmi ces trois tâches CRON, une première tâche CRON devrait envoyer la commande 20 minutes après. Une deuxième tâche devrait envoyer le statut 15 minutes après.
    Et une troisième tâche devrait envoyer un report du statut tout les 12 heures / 2 fois par jour.
    Après quelques renseignements vagues sur le net, j'ai pu comprendre les tâches Cron seul ne servent à rien, et qu'il me faut écrire un fichier php pour chaque tâche CRON,
    alors si des personnes calées pouvaient m'aider sa serait gentille de leur part.

    Voici comment le vendeur du script dit d'écrire les tâches CRON (Je précise que le vendeur de mon script a déserté le support client, c'est pour cela que je demande de l'aide ici ).


    20 * * * * cd $HOME/smm && /opt/alt/php71/usr/bin/php artisan orders:send >/dev/null 2>&1

    15 * * * * cd $HOME/smm && /opt/alt/php71/usr/bin/php artisan status:check >/dev/null 2>&1

    0 0,12 * * * cd $HOME/smm && /opt/alt/php71/usr/bin/php artisan send-status-report >/dev/null 2>&1


    Merci par avance pour votre aide précieuse

  2. #2
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Après quelques renseignements vagues sur le net, j'ai pu comprendre les tâches Cron seul ne servent à rien, et qu'il me faut écrire un fichier php pour chaque tâche CRON,
    alors si des personnes calées pouvaient m'aider sa serait gentille de leur part.
    T'aider ? Mais avec plaisir. Montre-nous ton code et nous t'aiderons.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Dendrite Voir le message
    T'aider ? Mais avec plaisir. Montre-nous ton code et nous t'aiderons.
    Merci, mais quel code ?, car justement je ne sais pas comment créer ce ou ces codes afin d'appeler ces tâches CRON.
    Mes 3 tâches CRON sont visible plus haut.
    Qu'est ce que je peux mettre ici comme code ?
    Merci.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Voilà ce que dit l'auteur du script concernant les tâches CRON:


    Add CRON jobs

    Cron Job for sending orders to other reseller Panels.
    Point command at smm folder and put this cron with time span of minimum 20 minutes to:
    php artisan orders:send
    This command will send All orders of specific packages in which Reseller API is selected.
    Point command at smm folder and put this cron with time span of minimum 15 minutes to:
    php artisan status:check
    This command will update order status from reseller panel(s).
    CRON job for sending Status Report to Admin
    Point command at with time span twice per day.
    php artisan send-status-report

    NOTE: in case of shared hosting

    Add CRON jobs like follow

    cd $HOME/smm && /opt/alt/php71/usr/bin/php artisan orders:send >/dev/null 2>&1
    cd $HOME/smm && /opt/alt/php71/usr/bin/php artisan status:check >/dev/null 2>&1
    cd $HOME/smm && /opt/alt/php71/usr/bin/php artisan send-status-report >/dev/null 2>&1

    Steps to do if cron job is not working.

    Create a new file info.php in public_html directory and put following content in it
    <?php
    phpinfo();
    Visit yourdomain.com/info.php
    Press CTRL+F (find) “bindir” and find the location of bin directory on your server, you might find something like:
    /opt/alt/php70/usr/bin/
    Copy that location and add php in its end like
    /opt/alt/php70/usr/bin/php
    Replace that location in all above cron like:
    cd $HOME/smm && /opt/alt/php70/usr/bin/php artisan orders:send >/dev/null 2>&1

    J'ai fais tout ce qu'il est indiqué mais les tâches CRON ne s’exécutent pas.
    Voici 3 images des fichiers sur mon cPanel: (une photo du dossier "public_html", une photo du dossier "smm/mon site" et une photo de mes 3 tâches CRON).

    Nom : public-html.JPG
Affichages : 229
Taille : 72,2 Ko

    Nom : smm-site1.JPG
Affichages : 240
Taille : 79,7 Ko

    Nom : tâche CRON.JPG
Affichages : 258
Taille : 50,8 Ko
    Dernière modification par Invité ; 11/05/2018 à 13h10.

  5. #5
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par kejamla Voir le message
    Parmi ces trois tâches CRON, une première tâche CRON devrait envoyer la commande 20 minutes après. Une deuxième tâche devrait envoyer le statut 15 minutes après.
    Et une troisième tâche devrait envoyer un report du statut tout les 12 heures / 2 fois par jour.


    20 * * * * cd $HOME/smm && /opt/alt/php71/usr/bin/php artisan orders:send >/dev/null 2>&1

    15 * * * * cd $HOME/smm && /opt/alt/php71/usr/bin/php artisan status:check >/dev/null 2>&1

    0 0,12 * * * cd $HOME/smm && /opt/alt/php71/usr/bin/php artisan send-status-report >/dev/null 2>&1
    Je reviens sur ta lecture des crons. Elle est erronée.
    Le cron 1 fait ceci : à chaque heure, 13H20 puis 14H20 puis 15H20 etc...
    Le cron 2 fait ceci : à chaque heure, 13H15 puis 14H15 puis 15H15 etc...
    Le cron 3 fait ceci : à Minuit et midi pile...

    du coup, si ton cron 2 check ce qu'a fait ton cron 1... change les heures et met genre 50 (13H50 puis 14H50 puis 15H50)
    J'ai fini de lire ta doc, c'est bien ça... Change ton cron 2.
    Cron Job for sending orders to other reseller Panels.
    Point command at smm folder and put this cron with time span of minimum 20 minutes to:
    php artisan orders:send
    This command will send All orders of specific packages in which Reseller API is selected.
    Point command at smm folder and put this cron with time span of minimum 15 minutes to:
    php artisan status:check
    This command will update order status from reseller panel(s).
    CRON job for sending Status Report to Admin
    Point command at with time span twice per day.
    php artisan send-status-report
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Dendrite Voir le message
    Je reviens sur ta lecture des crons. Elle est erronée.
    Le cron 1 fait ceci : à chaque heure, 13H20 puis 14H20 puis 15H20 etc...
    Le cron 2 fait ceci : à chaque heure, 13H15 puis 14H15 puis 15H15 etc...
    Le cron 3 fait ceci : à Minuit et midi pile...

    du coup, si ton cron 2 check ce qu'a fait ton cron 1... change les heures et met genre 50 (13H50 puis 14H50 puis 15H50)
    J'ai fini de lire ta doc, c'est bien ça... Change ton cron 2.
    A oui ok !, merci beaucoup
    J'ai compris le principe et mon erreur, mais par contre j'avais cru comprendre dans l'explication donné par l'auteur du script plus haut,
    que le CRON 1 devait envoyé la commande "une seul fois", et 20 minutes après avoir été faite, car je ne vois pas l’intérêt d'envoyer une commande toutes les 20 minutes
    Après, j'ai compris que le CRON 2, enverra le statut de la commande toutes les 15 minutes, et que le CRON 3 enverra un report du statut 2 fois par jour, et que donc normalement,
    les tâches CRON 2 & 3 s’arrêteront quand le statut sera en tant que "Terminé", c'est bien cela ?

  7. #7
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Mais non, toutes les heures... si tu lis couramment les crons.
    https://fr.wikipedia.org/wiki/Cron
    Et si tu lis l'anglais, tu comprends qu'il faut lancer tel cron 20 minutes avant tel autre (car le premier tourne genre 15 minutes probablement)...
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Dendrite Voir le message
    Mais non, toutes les heures... si tu lis couramment les crons.
    https://fr.wikipedia.org/wiki/Cron
    Et si tu lis l'anglais, tu comprends qu'il faut lancer tel cron 20 minutes avant tel autre (car le premier tourne genre 15 minutes probablement)...
    Oui je lis l'anglais mais c'est ma première en tâche CRON en même temps donc je tente de comprendre la chose gentillement
    Je ne comprend juste pas, pourquoi envoyer la tâche CRON 1 (Envoi de commande) toutes les heures ?
    Car dans la logique, cette commande sera envoyée plusieurs fois et donc mettre un bordel pas possible !, et moi je souhaite l'envoyer qu'une seule fois.
    Dans mon cPanel, j'ai ça comme choix:

    Nom : tâche CRON.png
Affichages : 250
Taille : 72,2 Ko

  9. #9
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Le fonctionnel, c'est toi qui le connais. Que veux-tu obtenir comme périodicité ?
    Apparemment, tu voulais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    */20 * * * * cd $HOME/smm && /opt/alt/php71/usr/bin/php artisan orders:send >/dev/null 2>&1
    */15 * * * * cd $HOME/smm && /opt/alt/php71/usr/bin/php artisan status:check >/dev/null 2>&1
    Pas ce que tu nous as montré.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Dendrite Voir le message
    Le fonctionnel, c'est toi qui le connais. Que veux-tu obtenir comme périodicité ?
    Disons que je devrais mettre en œuvre les tâches CRON comme cité dans l'exemple de l'auteur plus haut,
    mais je ne comprend pas pourquoi la tâche CRON 1 devrait être envoyée plusieurs fois, car comme déjà dis, sa sera un nid à problème, puisque cette commande sera envoyée plusieurs fois à un revendeur.

    Je voudrais juste que:

    La tâche CRON 1 soit envoyée qu'une seule fois, et ce, 20 voir 30 minutes après la commande faite par le client, pour "php artisan orders:send".

    La tâche CRON 2 soit envoyée qu'une seule fois, et ce, 15 voir 30 minutes après la tâches CRON 1, pour "php artisan status:check".

    La tâche CRON 3 soit envoyée 2 fois par jour, donc tout les 12 heures, pour "php artisan send-status-report".
    Et question sur cette tâche CRON 3. Normalement, une fois une commande terminée, cette tâche ne devrait plus être active sur la commande concernée ?

    Merci de votre aide

  11. #11
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Je ne sais pas. Pour moi, un cron organise une tâche récurrente (entre une fois par minute ou une fois par an).
    Si c'est ton action utilisateur qui doit déclencher un truc 20 minutes après... je ne sais pas. Je n'ai jamais eu cette problématique.
    Si je devais organiser ça, je mettrais en base un client_id associé à un timestamp et un flag fait ou pas fait. Et le cron irait voir régulièrement s'il a des choses à faire, et s'il les fait, il ne les fait qu'une fois, puisqu'un artisan "traité" = un flag "fait" dans la base.

    Et surtout, si tu n'as pas accès ni à la base, ni au code PHP déclenché par le cron et que tu n'as aucune idée de ce qu'il y a dessus... ça va être difficile. C'est une boîte noire.

    http://hardware-libre.fr/2014/03/8-e...er-linux-cron/
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  12. #12
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Dendrite Voir le message
    Je ne sais pas. Pour moi, un cron organise une tâche récurrente (entre une fois par minute ou une fois par an).
    Si c'est ton action utilisateur qui doit déclencher un truc 20 minutes après... je ne sais pas. Je n'ai jamais eu cette problématique.
    Si je devais organiser ça, je mettrais en base un client_id associé à un timestamp et un flag fait ou pas fait. Et le cron irait voir régulièrement s'il a des choses à faire, et s'il les fait, il ne les fait qu'une fois, puisqu'un artisan "traité" = un flag "fait" dans la base.

    Et surtout, si tu n'as pas accès ni à la base, ni au code PHP déclenché par le cron et que tu n'as aucune idée de ce qu'il y a dessus... ça va être difficile. C'est une boîte noire.

    http://hardware-libre.fr/2014/03/8-e...er-linux-cron/
    Si si, j'ai tout !, j'ai créé ma base de donnée, et j'ai le script, j'ai même fais le nécessaire pour mettre le script sur mon server etc..., j'ai même modifier quelques codes afin de changer un peu
    la structure du site.Et c'était une première pour moi tout ça
    Enfin, merci de ton aide, je vais tenter de faire les tâches CRON comme tu me l'a conseillé plus haut, et je verrais bien !, merci

  13. #13
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Non, si je puis me permettre.
    Le mieux serait que tu nous montres ce que fait ce script, le premier.
    Si j'ai raison, le cron se "lève" juste pour voir ce qu'il a à faire : ie se connecte à la base pour voir s'il n'y a pas dans la table prévue pour des commandes non traitées. Se recouche s'il n'a rien à faire, traite s'il y en a. Puis retourne dans la base cocher ce qu'il a traité.

    Parce que comme tu dis, si tu lances le cron toutes les 20 minutes... et que l'algo n'est pas du tout celui que je suppute, bam, tu fais des trucs au pif qui risquent de perturber les artisans. Or, il y a toujours des tas de possibilités en matière d'algo.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  14. #14
    Invité
    Invité(e)
    Par défaut
    Résolu
    Merci de ne plus répondre.

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

Discussions similaires

  1. Besoin d'aide pour cron
    Par HAbroc dans le forum Ubuntu
    Réponses: 1
    Dernier message: 18/03/2010, 11h37
  2. Besoin d'aide pour contourner une internal compiler error
    Par Laurent Gomila dans le forum C++
    Réponses: 18
    Dernier message: 27/06/2006, 22h09
  3. besoin d'aide pour le composant DBComboBox
    Par jane2002 dans le forum Bases de données
    Réponses: 8
    Dernier message: 28/02/2004, 19h01
  4. [TP]besoin d'aide pour commandes inconnues
    Par Upal dans le forum Turbo Pascal
    Réponses: 15
    Dernier message: 03/10/2002, 10h48
  5. Besoin d'aide pour l'I.A. d'un puissance 4
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 17h05

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