CiviCRM Community Forums (archive)

*

News:

Have a question about CiviCRM?
Get it answered quickly at the new
CiviCRM Stack Exchange Q+A site

This forum was archived on 25 November 2017. Learn more.
How to get involved.
What to do if you think you've found a bug.



  • CiviCRM Community Forums (archive) »
  • Language and Locality »
  • Francophone User Group (Moderators: mathieu, xavier) »
  • Mailings et cron
Pages: [1]

Author Topic: Mailings et cron  (Read 934 times)

Humanis

  • I’m new here
  • *
  • Posts: 4
  • Karma: 0
    • Collectif HUMANIS
  • CiviCRM version: 4.6.9 / 4.7.7
  • CMS version: Wp 4.5.3
  • MySQL version: 4.0.9 / 4.0.10
  • PHP version: 5.5.9-1 / 5.5.35
Mailings et cron
March 18, 2015, 09:44:11 am
Bonjour à tous et merci d'avance pour votre aide :)

Nous sommes un collectif français d'associations humanitaires internationales et nous sommes en train de mettre en place un site wordpress avec un Civi.
Je suis donc en plein paramétrage de civi et je rencontre quelques problèmes. Celui qui m'amène vers vous aujourd'hui est un problème de taches planifiées.

J'ai donc activé les taches planifiées correspondantes dans "Administrer > Paramètres système > Travaux programmés". En parcourant les docs anglaise j'ai vu qu'il fallait paramétrer le serveur pour qu'il appelle le script cron.php de mon Civi. Nous sommes hébergé chez ovh, je suis donc allé dans le planificateur de tache de mon tableau de bord ovh et ai créé une nouvelle tache en lui donnant le chemin d’accès du cron.php (à l’intérieur du dossier "/wp-content/plugins/civicrm/civicrm/bin et non pas celui de wordpress). Mais ça ne part pas.

Je précise que l'envoi de mailing fonctionne via les travaux programmés si je clique sur "lancer toutes les tâches périodiques manuellement" (toutes les taches programmées s’exécutent). Par ailleurs les autres taches programmées ne s'exécutent pas non plus si je ne le fait pas manuellement (ce qui me laisse penser que le cron.php, n'est pas appelé ou pas correctement)

Qu'ai je mal paramétré?

En vous remerciant d'avance

« Last Edit: March 18, 2015, 09:47:33 am by Humanis »

mathieu

  • Administrator
  • Ask me questions
  • *****
  • Posts: 620
  • Karma: 36
    • Work
  • CiviCRM version: 4.7
  • CMS version: Drupal
  • MySQL version: MariaDB 10
  • PHP version: 7
Re: Mailings et cron
March 18, 2015, 11:53:20 am
Bonjour,

Bienvenue à la communauté CiviCRM :-)

Pour référence, la documentation en anglais est ici:
http://wiki.civicrm.org/confluence/display/CRMDOC/Managing+Scheduled+Jobs

(Bien s'assurer de consulter la dernière version de la doc, parfois Google envoie à la documentation d'une ancienne version de CiviCRM. Si c'est le cas, la documentation affiche un avertissement au haut de la page)

* Est-ce que ce serait possible de donner l'exemple exact de ce qui a été configuré dans cron?
* Je ne suis pas familier avec l'interface de OVH, est-ce qu'il faut spécifier les intervalles de temps séparément, ou bien ça permet d'éditer un fichier cron tel quel? (si possible, une saisie d'écran peut aider à éclaircir certains détails/contexte)

La documentation donne ceci en exemple:

Code: [Select]
*/15 * * * * /path/to/php /path/to/civcrm/module/bin/cli.php -s site -u user -p password -e Job -a execute
Par contre, il faut ajuster "/path/to/php" selon la configuration de l'hébergeur (généralement "/usr/bin/php" fonctionne), puis le /path/to/[...], ainsi que le 'user' et 'password' pour les infos d'un utilisateur ayant les permissions nécessaires pour rouler les différentes tâches.

Mathieu
CiviCamp Montréal, 29 septembre 2017 | Co-founder / consultant / turn-key CiviCRM hosting for Quebec/Canada @ SymbioTIC.coop

Humanis

  • I’m new here
  • *
  • Posts: 4
  • Karma: 0
    • Collectif HUMANIS
  • CiviCRM version: 4.6.9 / 4.7.7
  • CMS version: Wp 4.5.3
  • MySQL version: 4.0.9 / 4.0.10
  • PHP version: 5.5.9-1 / 5.5.35
Re: Mailings et cron
March 18, 2015, 01:21:25 pm
Hello et merci à vous pour la réponse rapide :)


Oui, c'est la doc que j'avais lue, mais merci de sensibiliser à ce genre d'étourderies qui peuvent être traitres.

* Vous donnez déjà probablement une piste : je n'ai rien configuré dans le cron.php, je pensais bêtement qu'il suffisait de l'appeler pour qu'il lance l’exécution de toutes les taches programmées. Voila le code du cron.php dans lequel je vois des name, pass et key probablement à changer (la key serait alors contenue dans civicrm.settings.php, ms que je devrais créer au préalable? si j'ai bien compris la doc)

Code: [Select]
<?php

require_once '../civicrm.config.php';
require_once 
'CRM/Core/Config.php';
require_once 
'CRM/Utils/Request.php';
$config = CRM_Core_Config::singleton();

CRM_Utils_System::authenticateScript(TRUE);

$job = CRM_Utils_Request::retrieve('job', 'String', CRM_Core_DAO::$_nullArray, FALSE, NULL, 'REQUEST');

require_once 
'CRM/Core/JobManager.php';
$facility = new CRM_Core_JobManager();

if (
$job === NULL) {
  
$facility->execute();
}
else {
  
$ignored = array("name", "pass", "key", "job");
  
$params = array();
  foreach (
$_REQUEST as $name => $value) {
    if (!
in_array($name, $ignored)) {
      
$params[$name] = CRM_Utils_Request::retrieve($name, 'String', CRM_Core_DAO::$_nullArray, FALSE, NULL, 'REQUEST');
    }
  }
  
$facility->setSingleRunParams('job', $job, $params, 'From cron.php');
  
$facility->executeJobByAction('job', $job);
}


*L'interface d'ovh -bien que rudimentaire- est assez claire. Elle permet de spécifier quel(s) jour(s) et quelle(s) heure(s) on veut lancer le script grâce à des cases à cocher, et de renseigner le chemin d’accès au script (j'ai pas de quoi faire un imprim-écran là, je pourrais vous faire ça un peu plus tard).


Pour la ligne de code que vous m'avez partagée, faudrait-il que je la rajoute au cron.php? Ou le remplacement des champs name, pass et key suffirait?


Question découlant de tout cela, n'est ce pas dangereux de mettre des name, pass et key, dans un fichier php potentiellement consultable?


En tout cas merci beaucoup pour votre temps et vos réponses :)


T.
« Last Edit: March 18, 2015, 01:42:55 pm by Humanis »

mathieu

  • Administrator
  • Ask me questions
  • *****
  • Posts: 620
  • Karma: 36
    • Work
  • CiviCRM version: 4.7
  • CMS version: Drupal
  • MySQL version: MariaDB 10
  • PHP version: 7
Re: Mailings et cron
March 18, 2015, 01:58:02 pm
Bonjour,

Quote from: Humanis on March 18, 2015, 01:21:25 pm
* Vous donnez déjà probablement une piste : je n'ai rien configuré dans le cron.php, je pensais bêtement qu'il suffisait de l'appeler pour qu'il lance l’exécution de toutes les taches programmées. Voila le code du cron.php dans lequel je vois des name, pass et key probablement à changer (la key serait alors contenue dans civicrm.settings.php, ms que je devrais créer au préalable? si j'ai bien compris la doc)

En fait, ce n'est pas dans le code de cron.php qu'il faut spécifier le nom d'utilisateur et mot de passe. C'est dans la configuration du cron comme tel (la ligne de commande).

La documentation du wiki donne comme exemple:

Code: [Select]
/path/to/php /path/to/civcrm/module/bin/cli.php -s site -u user -p password -e Job -a execute
Donc pour un vrai site CiviCRM, ça donnerait, par exemple:

Code: [Select]
/usr/bin/php /var/www/wp-content/plugins/civicrm/civicrm/bin/cli.php -s monsite.org -u civicron -p motdepassebiencompliqué -e Job -a execute
Quote
Question découlant de tout cela, n'est ce pas dangereux de mettre des name, pass et key, dans un fichier php potentiellement consultable?

Il y a toujours un risque, ça dépend des permissions du serveur, de l'environnement, etc. C'est une question assez large, avec beaucoup de variables, donc je préfère ne pas trop m'aventurer ici :)
CiviCamp Montréal, 29 septembre 2017 | Co-founder / consultant / turn-key CiviCRM hosting for Quebec/Canada @ SymbioTIC.coop

Humanis

  • I’m new here
  • *
  • Posts: 4
  • Karma: 0
    • Collectif HUMANIS
  • CiviCRM version: 4.6.9 / 4.7.7
  • CMS version: Wp 4.5.3
  • MySQL version: 4.0.9 / 4.0.10
  • PHP version: 5.5.9-1 / 5.5.35
Re: Mailings et cron
March 20, 2015, 06:25:52 am
Bonjour

En préambule, je suis en train de tester un site tiers "easycron.com" qui permet d'appeler l'url pour déclencher les taches. Cela fonctionne, ms me plais peu, la formule gratuite étant contraignante et nous ne sommes en mesure de nous offrir la payante (en plus du fait que stocker une url dans laquelle apparaissent id pass et sitekey sur un site tiers me semble un peu dangereux).

Le manageur d'ovh n'offre pas de ligne de commande (à moins que je ne l'ai pas vue) il est donc impossible pour moi d'ajouter le code que vous m'avez proposé. Devrais-je alors créer un script (avec le code en question) intermédiaire qui serait appelé par la tache ovh et qui appellerait cron.php?

J'ai testé également autre chose, en utilisant un plugin cron de wordpress, Wp-Cron, en créant un hook dans mon fonction.php de mon thème wp dans lequel j'appelle l'url. Encore une fois, cela fonctionne, ms uniquement lorsque je force manuellement.

Je vais utiliser le site tiers pour mes prochains envois, ms je continue de chercher et d’être ouvert a toute suggestion, souhaitant être "auto suffisant".
Je vous tiendrais au courant de mes éventuelles découvertes.

En vous remerciant encore,

Bonne journée

T.


Ps : capture d'écran du manageur ovh en pièce jointe (je precise que j'ai bien coché la case activé, et que le champ "script" n'accepte que les chemins d'emplacement de scripts et pas autre chose, j'ai deja testé)
« Last Edit: March 20, 2015, 08:37:01 am by Humanis »

mathieu

  • Administrator
  • Ask me questions
  • *****
  • Posts: 620
  • Karma: 36
    • Work
  • CiviCRM version: 4.7
  • CMS version: Drupal
  • MySQL version: MariaDB 10
  • PHP version: 7
Re: Mailings et cron
March 23, 2015, 10:21:09 am
Bonjour,

Merci pour la saisie d'écran. En effet, je pense que ce serait mieux de créer un script qui encapsulerait le nom d'utilisateur, mot de passe, etc. (considérant que OVH impose ça)

L'option "logs par email" pourrait aussi fournir des pistes si jamais le script ne fonctionne pas.

Bonne chance,
Mathieu
CiviCamp Montréal, 29 septembre 2017 | Co-founder / consultant / turn-key CiviCRM hosting for Quebec/Canada @ SymbioTIC.coop

Pages: [1]
  • CiviCRM Community Forums (archive) »
  • Language and Locality »
  • Francophone User Group (Moderators: mathieu, xavier) »
  • Mailings et cron

This forum was archived on 2017-11-26.