Technology

WP NextGEN Gallery ngg_delete_expired_transients Cronjob

Con l’ultimo aggiornamento di NextGEN Gallery 2.0.23 (il plugin per WordPress che permette di creare e gestire gallerie di immagini) mi sono accorto di un problema molto grave.
Alcuni server che avevo in gestione, sui siti che hanno questo plugin, il carico della macchina è salito in modo vertiginoso, fino al blocco completo di MySQL (in primis) e Apache.

Analizzando meglio il problema, ho loggato alcune query (moltissime) MySQL che facevano riferimento a campi tipo “ngg_delete_expired_transients” in modo ciclico. Andando a fondo, ho scoperto che il problema deriva da un cron che aggiunge il nuovo NextGEN Gallery 2.0.23 che si compone in due problemi differenti:

  1. aggiunta nelle operazioni schedulate di wordpress un cron ripetitivo (uno al secondo);
  2. il cron è errato.

Navigando online ho trovato questo post:

http://wordpress.org/support/topic/a-warning-ngg_delete_expired_transients-cronjob

Al momento gli sviluppatori dicono che stanno risolvendo il problema e nelle prossime versioni dovrebbe essere risolto.
Intanto, però, per risolvere temporaneamente bisogna seguire questi passi:

1 – Editare il file wp-content/plugins/nextgen-gallery/nggallery.php e commentare questa parte:

/*add_action('ngg_delete_expired_transients', array(&$this, 'delete_expired_transients'));
   if (!wp_next_scheduled('ngg_delete_expired_transients')) {
   wp_schedule_event(time(), 'hourly', 'ngg_delete_expired_transients');
 }
 */

Questo non permetterà più al plugin di aggiungere il cron.

2 – Aggiungere al file functions.php del tema questa direttiva

wp_clear_scheduled_hook( 'ngg_delete_expired_transients' );

Una volta salvato, visitiamo la parte pubblica (fron-end) del sito per 2 volte

Questo permetterà di rimuovere tutti i cron schedulati del plugin.

Successivamente potete togliere la direttiva dal file functions.php

Christian Cantinelli

Unix System Administrator, Network Admin, programmatore, webmaster. Solare, amante della musica, del cinema, dei viaggi. Questo il riassunto della mia persona.

You may also like
#WHDGlobal Web Hosting Days 2015 – Rust – Diretta Live
cPanel: Abilitare spamassassin a tutti gli utenti
Subversion – compilare l’ultima versione disponibile

Rispondi