Cron bloccato

16 contenuti / 0 new
Ultimo contenuto
Cron bloccato

Ciao a tutti, sul mio sito si è bloccato cron, che viene eseguito ogni mezzora tramite un cron job impostatno nel server tramite cpanel. leggendo vari post ho letto che devo cancellare nella tabella "variable" le voci "cron_last" e "cron_semaphore". Io le ho cancellate e impostato il cron job ogni ora, ma cron non vuol sapere di ripartire, perchè?. Credo che il problema sia nella spadizione delle e-mail della newsletter tramite simplenews, ma come posso ssere sicuro? Come posso controllare cosa abbia bloccato cron?
grazie a tutti.

anche io spesso ho lo stesso tuo problema, ma qualche anno fa non accadeva.

Gianfranco

Hai provato da phpmyadmin dare un'occhiata alla tabella watchdog?

In particolare cosa dovrei guardare?
La volta scorsa ho cancellato due voci, secondo alcune informazioni che ho trovato su internet, di cui non ricordo più il nome è il cron è ripartito. In genere, però, il cron si blocca quando devo inviare le newsletter agli iscritti e simpatizzanti (circa 3000) usando il modulo simplenews impostato a 100 email per ora (limite del provider).

Gianfranco

Intanto in watchdog puoi vedere se l'ultimo messaggio registato è quello del cron:
select * from watchdog ORDER BY wid DESC
Ipotizzo che le email non sono state inviate tutte: forse devi ridurre il limite/ora.

Esiste anche un modulo per il debug del cron.

Beh io controllo e vedo che quando il cron si blocca l'invio si ferma, ma riparte quanto cron si decide di ripartire.
Il modulo che mi hai indicato è per drupal 7.x io ho installato il 6.x

Gianfranco

Scusa il ritardo nelle risposte.
Hai provato a dare un'occhiata ai log da cPanel? Magari hai qualche informazione in più riguardo al motivo del blocco.
Se il problema è un timeout del server durante l'invio delle email, potresti provare ad aumentare il max_execution_time nel file php.ini.
Ma ora il sito è ancora bloccato? Se si, in via estrema per riavviare il sito, potresti commentare nel file cron.php la riga 10:
// drupal_cron_run();
poi, se funzia, disabilita in simplenews l'invio delle emal al cron e prova a rimandare il cron manualmente.

il sito attualmente sbloccato. dai log non riesco a rilevare la motivazione del blocco.

Gianfranco

Per disattivare l'invio di newsletter eventualmente in sospeso, potresti modificare manualmente sul database (con phpmyadmin) i valori contenuti nella colonna s_status della tabella simplenews_newsletter:

  • 0 = non inviata
  • 1 = in attesa
  • 2 = inviata

Poi, io proverei a ridurre il numero delle email inviate ad ogni cronjob...

Io ho notato che se ho un servizio di hosting in cui vi è la possibilità di creare un cronjob, il cron non si blocca mai, se invece devo usare qualche modulo per "simulare" un cronjob ogni tanto si impalla

Il duro lavoro fatto con passione, ripaga sempre!!!!

infatti il provider fornisce un servizio di cronjob ed ho inserito nel relativo pannello di controllo i valori da loro consigliati. Non credo di avere, nel tempo, installato moduli per "simulare" il cron job. Comunque proverò a diminuire il numero di mail da inviare per ora, ma per raggiungere, a volte, i quasi 3000 destinatari il risvolto della medagli è allungare troppo i tempi di recapito.

Gianfranco

ops.... visto che il sistema non consente di inserire un valore manualmente non posso abbassare il numero di invi a 20. Impiegherei troppo tempo per inviare a tutti la mail. ho abbassato solo il valore "Mail spool expiration" a 1 giorno da una settimana. Può essere utile, anche se perdo la possibilità di statisticare le letture.
Non capisco poi come mai, pur se il numero di invii è impostato a 50, di fatto per ogni ciclo di cron vengono inviate 100 mail.

Gianfranco

eccomi di nuovo qua, visto che non avendo più inviato newsletter non mi sembrava il caso di continuare a chiedervi aiuto. Ieri era ho messo in invio una newsletter con simplenews e stamattina ho visto che si è bloccato quasi subito. Da resoconto sullo stato, cliccando su "eseguire cron manualmente" è ripartito, le volte scorse, invece, non ripartiva e dava il messaggio cron bloccato.
Cosa posso fare per indagare sulle cause?

Grazie a tutti

Gianfranco

Fuxas wrote:
.. si è bloccato quasi subito...

Vuoi dire che ha iniziato ad inviare email e poi si è bloccato?
Prova a controllare in admin/reports/dblog (o direttamente nel DB); quante email ha inviato prima di bloccarsi (dovresti trovare un messaggio: "nn email inviate in x,y secondi")? Ci sono altri messaggi di errore di Simplenews o Cron?

Visto che questa volta il cron è ripartito, è probabile che le modifiche che hai apportato siano andate nella direzione giusta; controprova: imposta "Mail spool expiration" a Immediate, oppure porta il numero massimo di email a 50 (il senso è avere il cron più frequente con meno email da inviare ad ogni ciclo).

Le statistiche sulle letture? Io nella pagina delle impostazioni di Simplenews leggo: "Tenere il messaggio nello spool permette di elaborare statistiche (funzione non ancora implementata)"

mi spiego meglio: se non sto inviando nessuna newsletter vedo che il cron si azione puntualmente ogni ora. Se c'è una newsletter in invio senza nessun particolare messaggio il cron si blocca ed a volta cliccando su avvia manualmente, anche più volte, riparte, per poi a random bloccarsi nuovamente. Quando manualmente invece non vuole partire, lo disattivo dal pannello di controllo del provider e generalmente riparte. Ho provato anche a cancellare le due voci nel db mysql che in giro si trova come consiglio, ma non è una soluzione definitiva.
Adesso provo a settarlo ogni mezz'ora adeguando il numero di mail per ora, visto che il provider mi da come limite 100 email per ora

Gianfranco

tenendo incrociate le dita visto che sto inviando nuovamente una newsletter, da ieri pomeriggio il cron non si è più bloccato avendo settato 40 invii ogni mezz'ora (tot80 l'ora).
speriamo bene

Gianfranco