: Tuto Par :
Créer une tache web cron chez OVH avec paramètres

J'ai été bien embêter avec un client. Il à un pretashop sur une mutualisé performance d'OVH, il possède le plugin amazon et j'ai donc tout naturellement, comme préconisé, voulu créer des tâches Cron.

Probleme, ches OVH il y a deux grosses limitation :

  1. On ne peut que appeler un fichier .php
  2. Celui ci ne peut pas avoir de paramètre

Pour contourner ce problème j'ai donc créer/imaginé/trouvé et modifié un script qui vas me faire le travail.

Créer le fichier sur votre serveur

De préférence à la racine de votre site mais surtout accécible via internet, nommez le cron-ovh.php (ou autre ça n'a pas d'importance)

Et mettez y ceci :

<?php

echo 'La requête démarre ';

echo request("https://votre-beau-site.fr/chemin/vers/votre/php/cron-ovh.php?vosvariables=miaou-test-pouet&test=miaou");

echo 'Fini';

function request($url) {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_VERBOSE, 1);

    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6');

    $result = curl_exec($ch);
    $statuscode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $statustext = curl_getinfo($ch);
    curl_close($ch);
    if ($statuscode != 200) {
        echo "HTTP ERROR " . $statuscode . "<br>";
        echo "<pre>";
        echo var_dump($statustext);
        echo "</pre>";
        return "false";
    } else {
        $info = curl_getinfo($ch);
        echo 'La requête a mis ' . $info['total_time'] . ' secondes à être envoyée à ' . $info['url'];
    }
    return $result;
}

?>

Changez l'url à echo request(); avec votre adresse

Enregister votre tache

Là rien d'extraordinaire allez juste dans votre panneau de controle d'OVH > "Hébergement" > "Plus" > "Taches Cron" et creez là.

Entrez le chemin relatif de notre fichier cron-ovh.php, oubliez pas de cocher sur la case "Activer" et voila vous avez votre tache Cron.

Bonus

Vous avez plein de taches cron différentes ? Pas de souci modifier le début du script avec ceci :

$tab = array(
    "https://adresse-de-votre-site.nic/modules/amazon/functions/products.php?cron_token=sf64sef1sefr7sef1sef89se34fse861efs687&context_key=&cron=1&action=update&lang=fr",
    "https://adresse-de-votre-site.nic/modules/amazon/functions/products.php?cron_token=sf64sef1sefr7sef1sef89se34fse861efs687&context_key=&cron=1&action=update&lang=de",
    "https://adresse-de-votre-site.nic/modules/amazon/functions/products.php?cron_token=sf64sef1sefr7sef1sef89se34fse861efs687&context_key=&cron=1&action=update&lang=it",
    "https://adresse-de-votre-site.nic/modules/amazon/functions/products.php?cron_token=sf64sef1sefr7sef1sef89se34fse861efs687&context_key=&cron=1&action=update&lang=uk",
    "https://adresse-de-votre-site.nic/modules/amazon/functions/products.php?cron_token=sf64sef1sefr7sef1sef89se34fse861efs687&context_key=&cron=1&action=update&lang=es",
    "https://adresse-de-votre-site.nic/modules/amazon/functions/import.php?cron_token=sf64sef1sefr7sef1sef89se34fse861efs687&context_key=&cron=1&lang=fr&europe=1",
    "https://adresse-de-votre-site.nic/modules/amazon/functions/import.php?cron_token=sf64sef1sefr7sef1sef89se34fse861efs687&context_key=&cron=1&lang=uk",
    "https://adresse-de-votre-site.nic/modules/amazon/functions/status.php?cron_token=sf64sef1sefr7sef1sef89se34fse861efs687&context_key=&cron=1&lang=fr&europe=1",
    "https://adresse-de-votre-site.nic/modules/amazon/functions/status.php?cron_token=sf64sef1sefr7sef1sef89se34fse861efs687&context_key=&cron=1&lang=uk&europe=1",
    "https://adresse-de-votre-site.nic/modules/amazon/functions/check_stock.php?cron_token=sf64sef1sefr7sef1sef89se34fse861efs687&context_key=&cron=1&lang=fr",
    "https://adresse-de-votre-site.nic/modules/amazon/functions/check_stock.php?cron_token=sf64sef1sefr7sef1sef89se34fse861efs687&context_key=&cron=1&lang=uk",
    "https://adresse-de-votre-site.nic/modules/amazon/functions/check_stock.php?cron_token=sf64sef1sefr7sef1sef89se34fse861efs687&context_key=&cron=1&lang=fr&fix=1",
    "https://adresse-de-votre-site.nic/admin668x0jwri/cron_currency_rates.php?secure_key=sf64sef1sefr7sef1sef89se34fse861efs687",
    "https://adresse-de-votre-site.nic/modules/amazon/functions/check_stock.php?cron_token=sf64sef1sefr7sef1sef89se34fse861efs687&context_key=&cron=1&lang=uk&fix=1");

foreach ($tab as $url) {
    echo request($url);
}

Ceci est un exemple factice pour le module Amazon de Prestashop

 

 

Avatar de l'utilisateur Nodoka

Nodoka

PedoQueen des intrawebz 2.0, antéchristine de la connerie, j'aime les loli, les vocaloid, l’humour noir (car le blanc est raciste) et les Animés. Promis je te mangerais trollement bien avec amour. Ma devise : "If her age is on the clock, she's old enough for the cock".

Articles Aléatoires

La Censure dans les Jevidéhautlubrique

La Censure dans les Jevidéhautlubrique

La censure est PARTOUT !!!§!§§!§!§! Si si je vous jure, même moi je suis censuré (heureusement... Voir +
Integration d'OpenGraph

Integration d'OpenGraph

Integrer rapidement a facilement opengraph en html pour facebook et twitter Voir +
Utiliser les extensions Doctrine dans Symfony 2 et 3 via les extensions gedmo

Utiliser les extensions Doctrine dans Symfony 2 et 3 via les extensions gedmo

Tutorial pour installer Stof\DoctrineExtensionsBundle et le configurer afin d'automatiser certaines... Voir +

Dernieres Quotes DTC

(Par Jey492)

Oui mais, 16h du mat'

Maman: C'est quoi cette absence d'hier ?

Moi: Panne de réveil

Maman: L'absence est à 16h ...

#20090 - Voir les commentaires

(A propos de)

Maman: C'est quoi cette absence d'hier ?

Moi: Panne de réveil

Maman: L'absence est à 16h ...

#20090 - Voir les commentaires

(Par GoBosse)

Oui, sauf les tétraplégiques.