web-dev-qa-db-fra.com

Comment mieux contrôler les travaux WordPress Cron?

J'ai un tas de sites WordPress autonomes et un réseau multisite de sites WordPress sur mon serveur. Il arrive parfois que trop de sites exécutent trop tôt des tâches cron à proximité. Je cherche à mieux contrôler le déclenchement des tâches cron sur chaque site Web WordPress.

Est-il possible de désactiver le déclenchement des travaux WordPress cron et de le limiter exclusivement à ./wp-cron.php? Si c'est le cas, comment?

Je souhaite configurer des tâches cron via Linux pour cibler le fichier ./wp-cron.php de chaque domaine aux heures que je spécifie. En théorie, cela devrait atténuer la plupart des problèmes de serveur que j'ai connus.

Est-ce une solution idéale pour mieux contrôler les tâches cron sur chacun de mes sites WordPress?

Y a-t-il quelque chose que je devrais faire dans WordPress lui-même, qui pourrait mieux contrôler les tâches cron, afin de ne pas avoir trop de sites exécutant tous leurs tâches en même temps?

En essayant de conserver les ressources du serveur, les tâches cron sont le coupable.

1
Michael Ecklund

Pour désactiver WordPress Cron Jobs, placez-le dans wp-config.php:

define('DISABLE_WP_CRON', true);

Pour planifier un travail cron sous Linux avec cPanel par exemple ...

Voici la commande que vous pourriez exécuter:

wget -q -O - http://www.your-domain.org/wp-cron.php?doing_wp_cron >/dev/null 2>&1

La fin de la commande ci-dessus supprime toute sortie.

Choisissez simplement l'intervalle de votre choix pour configurer votre travail cron dans cPanel ou SSH ou quelle que soit la configuration de votre travail cron et utilisez la commande ci-dessus.

La commande ci-dessus indique au serveur Linux d'exécuter wp-cron via wget, ce qui déclenchera le script wp-cron.php pour qu'il exécute son travail selon votre planning plutôt que sur chaque affichage de page. Cela réduira la quantité de processus sur le serveur.

J'ai immédiatement remarqué une différence dans la charge de mon serveur après avoir effectué ce changement.

3
Michael Ecklund