Disponible pour missions & renforts d’agence · Réponse rapide, par la personne qui intervient

Un module qui doit tourner sans personne devant

Synchroniser un stock fournisseur toutes les nuits, passer automatiquement une commande d’un statut à un autre, produire un export périodique : ces traitements n’ont pas d’utilisateur devant l’écran, et cette absence change tout dans la façon de les écrire.

Décrire mon problème Discuter sur WhatsApp

Ce qui distingue un traitement de fond d’une page

Une page web est courte, déclenchée par un visiteur, et son échec est immédiatement visible. Un traitement de fond est long, déclenché par une horloge, et son échec ne se voit pas — sauf s’il a été prévu pour se signaler. C’est la différence la plus importante, et celle qui est le plus souvent négligée.

Il faut donc trois choses dès la conception. Un journal qui indique quand le traitement a démarré, ce qu’il a fait et pourquoi il s’est arrêté. Une protection contre le chevauchement, pour qu’une exécution qui dure plus longtemps que prévu n’en déclenche pas une seconde en parallèle sur les mêmes données. Et une reprise possible, pour qu’une interruption au milieu ne laisse pas la moitié du travail dans un état incertain.

Comment le déclenchement fonctionne réellement

Sur PrestaShop, un traitement périodique est un contrôleur appelé à intervalle régulier, soit par une tâche planifiée configurée sur le serveur, soit par un service extérieur qui appelle une adresse. La tâche planifiée du serveur est le mécanisme le plus fiable, parce qu’elle ne dépend d’aucun visiteur.

Sur WordPress, le mécanisme natif de planification est déclenché par le trafic : sans visite, rien ne se lance. Sur une boutique peu fréquentée, cela produit des traitements qui s’exécutent avec plusieurs heures de retard, ou pas du tout la nuit. La correction consiste à désactiver ce déclenchement par le trafic et à appeler le mécanisme depuis une tâche planifiée du serveur, à intervalle fixe. C’est l’une des interventions les plus rentables sur une boutique WooCommerce qui repose sur des traitements automatiques.

Dans les deux cas, l’adresse appelée doit être protégée : un traitement lourd déclenchable par n’importe qui devient un moyen simple de faire tomber le serveur.

Pages liées

Questions fréquentes

Pourquoi ma synchronisation nocturne ne se lance-t-elle pas ?
Sur WordPress, presque toujours parce que la planification dépend du trafic et que personne ne visite le site à cette heure. Sur PrestaShop, plus souvent parce que la tâche planifiée du serveur n’a jamais été créée, ou qu’elle appelle une adresse devenue invalide.
À quelle fréquence faut-il faire tourner un traitement ?
Aussi rarement que le besoin le permet. Une synchronisation toutes les cinq minutes qui traite un catalogue entier coûte beaucoup plus cher en ressources qu’un traitement horaire qui ne traite que les changements.
Comment savoir qu’un traitement a échoué ?
Par une alerte envoyée en cas d’échec, et par un journal consultable. Un traitement silencieux qui échoue depuis trois semaines est un cas fréquent, et il se découvre toujours trop tard, au moment où les données sont utilisées.
Peut-on déclencher le traitement manuellement en cas de besoin ?
Oui, et je le prévois systématiquement : un bouton de lancement dans l’administration, avec le résultat affiché. C’est ce qui permet de vérifier un correctif sans attendre le prochain passage automatique.

Décrivez votre besoin en 1 minute

Quelques questions ciblées pour que je vous réponde avec une estimation, pas avec un questionnaire de plus.

Quelle tâche souhaitez-vous automatiser ?
À quelle fréquence la tâche est-elle faite manuellement aujourd’hui ?

Une tâche quotidienne coûte plus cher à long terme qu’une tâche ponctuelle, même longue — c’est ce qui dimensionne le retour sur investissement.

Quel temps y passez-vous à chaque fois, environ ? (facultatif)
Quels outils ou logiciels sont impliqués ? (facultatif)
Sur quelle plateforme repose la boutique concernée, si applicable ? (facultatif)
Indiquez au moins un e-mail ou un téléphone pour que je puisse vous répondre.

Indiquez au moins un e-mail ou un téléphone pour que je puisse vous répondre.