Cron a singhiozzo

7 contenuti / 0 new
Ultimo contenuto
Cron a singhiozzo

Ciao a tutti,
mi capita una cosa strana (almeno per me): almeno una volta alla settimana il cron smette di andare.

Il cron.php viene lanciato da crontab ogni ora, ma di punto in bianco, senza nessun messaggio nel log, smette di funzionare finchè non me ne accorgo e non lo rinancio manualmente (da Administration menu), al che torna a funzionare regolarmente fino al prossimo blocco.

Ho provato anche a cancellare periodicamente la variabile cron_semaphore, sperando in una forzatura del blocco, ma se il cron non funziona non torna a funzionare dopo la cancellazione.

Qualcuno ha un'idea? Anche un altro tipo di forzatura potrebbe andarmi bene...

Hai controllato il log nella sezione di amministrazione?
Ogni quanto esegui il cron? Cosa succede se non forzi l'esecuzione?

Ogni quanto esegui il cron?
ogni ora, da linea di crontab.

Cosa succede se non forzi l'esecuzione?
Uso Administrator menu, per cui uso l'apposita voce del menu. Quando la uso, il cron viene effettuato, e torna a funzionare regolarmente.

Hai controllato il log nella sezione di amministrazione?
Sì, e non compare niente: né tempo limite superato per eseguire il cron, né cron ancora in esecuzione al cron successivo. Semplicemente smette di comparire la riga del cron, e si capisce che non è stato eseguito.

Quote:

cron 03/09/2009 - 07:41 Esecuzione di cron completata. Riavvio manuale
cron 02/09/2009 - 23:58 Reset completato Reset che è lanciato in automatico da crontab, dove cancella la variabile cron_semaphore
cron 02/09/2009 - 19:02 Esecuzione di cron completata. Ultimo cron, poi si è bloccato
cron 02/09/2009 - 18:01 Esecuzione di cron completata.

Cos'è il Reset?
edit: ah, ho capito, dovevo rileggere sopra.
Boh, io il reset lo toglierei. A me sembra più un problema di crontab che di Drupal. Non mi è mai successo che i cron non fossero eseguiti senza lasciare traccia. Hai provato a vedere se quel cron job viene comunque eseguito? Prova a impostare la variabile per farti mandare l'email a ogni esecuzione.

Il reset era un tentativo per forzare un eventuale blocco, e mi pareva anche la prova che il crontab funzionasse (è lo stesso che lancia il cron, in un'altra riga).

Però ora provo a togliere il reset e a farmi mandare la mail dal crontab.

Ci risentiamo tra un giorno o due per il risultato.
GRAZIE

cosa è il reset?

Con una query di questo tipo:
delete from {variable} where name='cron_semaphore' or name='cron_last'
Cancella nella tabella variable la registrazione dell'ultimo cron eseguito, per cui lo riesegue senza aspettare un'ora.
Gianluca