salve avevo un sito su un hosting condiviso che non perrmetteva la gestione del cron, adesso ho trasferito su un altro hosting che permette questo.
finora ho sempre usato il modulo poormascron e volevo passare ad eseguire il cron senza modulo quindi da server, ho qualche controindicazione, è meglio dal modulo o dal server?
cron senza module
Mar, 19/01/2010 - 12:43
#1
cron senza module
aggiungo che da server (cpanel) non posso richiamare cron.php, quindi che file dovrei chiamare per eseguire il cron di drupal attraverso il server?
ho utilizzato cron.php da cpanel e ho questo errore nei log:
<br />
<b>Warning</b>: session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cookie - headers already sent in <b>/home/misterge/public_html/includes/bootstrap.inc</b> on line <b>1037</b><br />
<br />
<b>Warning</b>: session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cache limiter - headers already sent (output started at /home/public_html/includes/bootstrap.inc:1037) in <b>/home/public_html/includes/bootstrap.inc</b> on line <b>1037</b><br />
<br />
<b>Warning</b>: MySQL server has gone away
query: INSERT INTO watchdog
(uid, type, message, variables, severity, link, location, referer, hostname, timestamp)
VALUES
(0, 'php', '%message in %file on line %line.', 'a:4:{s:6:\"%error\";s:12:\"user warning\";s:8:\"%message\";s:129:\"MySQL server has gone away\nquery: UPDATE variable SET value = &#039;b:1;&#039; WHERE name = &#039;drupal_http_request_fails&#039;\";s:5:\"%file\";s:49:\"/home/public_html/includes/bootstrap.inc\";s:5:\"%line\";i:523;}', 3, '', 'http:///', '', '', 1263913218) in <b>/home/public_html/includes/database.mysql.inc</b> on line <b>128</b><br />
<br />
Non so quale controindicazione hai avuto, ma cron è il modo migliore. Poormanscron è un modulo eccellente per chi non ha cron. Punto.
Dalla documentazione (in inglese) Drupal, hai altre possibilità: http://drupal.org/cron
Hmm. Strano. Un classico job cron sarebbe:
0 * * * * wget -O - -q -t 1 http://www.example.com/cron.php[/codefilter_code]
Coiè usa
wget
per 'scaricare' i contenuti del urlhttp://www.example.com/cron.php[/codefilter_code]. Ovviamente
www.example.com[/codefilter_code] va sostituito con il tuo dominio. Ma puoi fare anche tu 'a mano'. Basta mettere
http://www.example.com/cron.php[/codefilter_code] come URL del browser, e 'girerà' cron - cioè tutti i moduli di Drupal che hanno un
hook_cron
. Il risultato è un schermo bianco (anzi totalmente privo di testo, neanche<html>
) ma questo è un comportamento 'corretto'. Nelwatchdog
dovrebb'essere scritto un 'Cron run completed'Se (o quando) questo funziona, puoi poi inserirlo nel crontab.
John
Più imparo, più dubito.
ciao john ho usato la string che consigli tu e che ho trovato tra l'altro anche su drupal.org, ma il cron non viene eseguito, cioè non trovo nulla nemmeno nel log di drupal.
Hai provato 'a mano', lanciando dal browser http://www.example.com/cron.php ?
Più imparo, più dubito.
si ho risolto, lo scrivo nel caso servisse ad altri:
in poche parole l'hosting doveva abilitarmi ad avviare il cron ecco perchè non andava.
grazie a tutti