De nombreuses personnes pensent que ce problème pourrait être lié au blocage des processus en arrière-plan synchrones , en particulier ceux liés aux travaux intensifs .
Si tel est le cas, il existe une excellente paire de modules en cours de développement actif par gielfeldt * qui pourraient résoudre ce problème, ou tout au moins, pourraient offrir des indices et aider les constructeurs de site à diagnostiquer et traiter des auteurs spécifiques dans leurs cas. Les deux remplacent les processus synchrone bloquants par des commandes HTTP ou asynchrones non bloquantes et offrent tous deux des rapports pertinents permettant d'identifier les processus problématiques:
- Le processus en arrière-plan et ses modules fournis permettent à la file d'attente des processus en arrière-plan de Drupal d'être traitée de manière asynchrone, de sorte qu'ils ne se bloquent pas. Cela pourrait arrêter le problème. De plus, avec le module Apache Server intégré de Background Process intégré dans la dernière version, il existe un rapport d'interface utilisateur de base, mais en cours d'amélioration, avec des fonctionnalités permettant de superviser, de déverrouiller et d'inspecter les heures de début et les progrès de ces processus. Cela pourrait identifier le processus du problème.
- Ultimate Cron s'appuie sur le processus en arrière-plan pour permettre aux tâches déclenchées par cron de disposer de leurs propres scehdules asynchrones séparées, chacune pouvant être surveillée et arrêtée dans une interface utilisateur. En plus de permettre de séparer les tâches lourdes qui nuisent aux performances du nettoyage régulier, il vous fournit également un rapport contenant des informations pratiques, telles que la durée d'exécution de chaque tâche déclenchée par cron, la dernière exécution, l'état actuel, etc. Cela pourrait également supprimer le blocage et / ou identifier les processus problématiques.
Les deux sont très utiles quand même; pour ce problème, ils peuvent être utilisés pour tester la théorie (sondage très plausible) selon laquelle les blocages sont causés par des processus de blocage synchrones ou des exécutions cron. Potentiellement, ils pourraient résoudre le problème en les exécutant de manière asynchrone au lieu de manière synchrone, et ils pourraient aussi potentiellement offrir des indices sur les processus spécifiques à l'origine du blocage. (soyez averti que leur documentation est vraiment un travail en cours ...
Si, toutefois, ils ne peuvent pas être configurés pour aider du tout, cela suggère que le problème ne se limite pas aux processus d'arrière-plan synchrones. FWIW, je n’ai jamais eu ce problème particulier sur un site depuis que ces modules fonctionnent correctement (pourtant, toucher du bois) - mais je l’ai déjà vu sur mes sites auparavant, ainsi que sur des sites Drupal en direct.
Sachez également que d'autres modules de plug-ins apparentés sont en cours de développement. Par exemple, dans les cas complexes à haute intensité, Ultimate Cron Queue Scaler , qui permet une limitation basée sur des seuils, peut aider à réduire les problèmes de performances liés à cron.
* aucune affiliation, je suis juste un utilisateur très impressionné de leur travail