Taches programmables (cronjob)

Dernière édition : Mai 2020

Introduction

ZADS automatise un certain nombre d’actions (mise en avant des annonces, back-up, rapport journalier, nettoyages des logs, envoi d’alertes,. …) et a besoin de taches programmables (appelées CRON JOB) pour activer ces actions. cron est un programme qui s'éxécute en arrière-plan. Il se reveille à interval régulier, effectue l’action correspondante et se rendort jusqu’au réveil suivant.

Liste des taches programmables

Les taches programmables (appelées CRON JOB) doivent être paramétrées comme suit :

  • Une tache HORAIRE pour la gestion des remontées d’annonces et options payantes (/phpsvr/cron/zadshourlyscript.php)
  • Une tache JOURNALIERE pour le dashboard et cycle de vie des annonces et annonceurs (/phpsvr/cron/zadsdailyscript.php)
  • Une tache HEBDOMADAIRE pour le back-up du site.
(/phpsvr/cron/zadssunscript.php)
  • Une tache JOURNALIERE pour la gestion des notifications
(/phpsvr/cron/zadsnotifscron.php) (à partir de ZADS version 7.5+)
  • Une tache JOURNALIERE ou HORAIRE pour la gestion des Alertes sur recherches sauvegardées 
(/phpsvr/cron/zadsalertscron.php) (A partir de ZADS version 8.5.2+)

Configuration chez les hébergeurs

Les hébergeurs classiques (OVH, ionos (ex-1&1) …) proposent ce genre de services dans leurs packs standards d'hébergement. Dans le cas contraire, un service CLOUD gratuit de type https://www.setcronjob.com/ peut complètement convenir. Enfin, le fournisseur de votre script peut vous fournir ce service temporairement (contact sales@zads.fr).

Exemple de configuration chez OVH.

cron-ovh

Exemple de configuration avec CPANEL :

cron-icon-cpanel

Vous devez identifier le chemin de votre site via home directory

cron-cpanel

Exemple de configuration avec LWS :

cron-lsw-1

cron-lsw-2

cron-lsw-3

Exemple de configuration avec IONOS (1&1).

Sur 1&1, il faut accéder en SSH au serveur et directement entrer des commandes CRONTAB .

cron-ionos

Auto-tests

Pour des besoins de tests, il est possible de forcer manuellement l'exécution d'une tache via l’interface d’administration click sur l’icône INFO

admin-info

admin-cron-force

Vérification du bon fonctionnement

On peut vérifier que les Taches fonctionnent correctement via l’interface de Journal/logs

admin-cron-menu

Utiliser le filtre Automates/robots pour filtrer les informations.

admin-cron-logs

Sécurisation des appels

Les appels CRON peuvent être sécurisés en ajoutant un TOKEN pour les appels Externes (d’un autre serveur).

Ce token doit être renseigné comme paramètre GET dans le demande sous token=xxxx.

admin-cron-token

Le Token est crée dans la section SECURITE : Note : les appels internes (du même serveur/address IP) sont automatiquement sécurisés, avec ou sans CRON-TOKEN.

Debug des appels cron

Dans certains cas, les appels CRON ne publient aucun résultats. Pour voir ce qu’il s’est passé, vous pouvez activer le mode « DEBUG » et consulter le fichier de LOGS comme ci-dessous.

admin-debug

Annexe : Détail des actions de chaque tache

Actions de la tache horaire (HOURLY) :

  • Cycle de vie des annonces (expirée, va expirer)
  • Effacement des annonces expirées depuis longtemps
  • Effacement des annonces brouillon (DRAFT)
  • Options payantes des annonces (remontée en avant, galerie, urgent)
  • Automate de syndication des annonces (si période sélectionnée=hourly)

Actions de la tache journalière (DAILY) :

  • Cycle de vie des services (expirée, va expirer, effacés , …)
  • Expiration des usagers non actifs
  • Effacement des usagers brouillon (DRAFT)
  • Effacement des LOGS
  • Effacement des LOGS VISITEURS
  • Effacement des TRANSACTIONS PAYANTES
  • Génération du SiteMap
  • Publication du SITEMAP
  • Envoi du DASHBOARD par email
  • Keep ALIVE (v8)
  • Expiration du site

Actions de la tache hebdomadaire (WEEKLY / SUN) :

  • Sauvegarde du site (back-up des fichiers de configuration)
  • Envoi d’un email au super administrateur configuré dans « OPTIONS AVANCES »
  • Actions de la tache de NOTIFICATION
  • Envoi des emails aux utilisateurs ayant consulté une annonce de la catégorie indiquée dans le configuration de la notification.

Actions de la tache d’ALERTES

  • Envoi d’emails aux utilisateurs ayant configuré un rappel (alerte) sur un critère d’annonces , si de nouvelles annonces correspondent aux critères.