implementare hook_cron()

2 contenuti / 0 new
Ultimo contenuto
implementare hook_cron()

Ciao a tutti!
ho bisogno che il mio sito mi faccia andare del codice php una volta al giorno.
Ho pensato di scrivere un modulo che viene richiamato dal cron ma non riesco a capire come implementare la funzione hook_cron()...
ho guardato anche sulla guida in inglese ma non c'ho capito nulla
:(

per prova ho fatto un modulo che mi scrive a video due frasi:
"questo è stato scritto con cron"
"questo è stato scritto con miomodulo"
la prima dovrebbe scriverla solo quando faccio andare il cron mentre l'altra sempre...

il codice del file miomodulo.module è questo:

<?php
// $Id$
/**
* @file
* Esempio minimo di un modulo per Drupal con
* l'implementazione del blocco e della sezione di help
*/
/**
* Implementazione hook_help()
*/
function miomodulo_help($section, $arg) {
 switch (
$section) {
case
'admin/help#miomodulo':
return
t('Test module about blocks creation');
}
}
function
miomodilo_cron() {
echo
"questo è scrito con cron";
}
echo
"questo lo scrive il modulo miomodulo </br>";
?>

Naturalmente qualcosa (spero non tutto) è sbagliato ma non riesco a capire cosa...
qualcuno saprebbe dirmi cosa o darmi un tutorial (possibilmente in italiano) che spieghi come far eseguire del codice nel momento in cui va in esecuzione il cron?

ps: il cron viene gestito da poormanscron e ha scadenza giornaliera

Ciao,
anzitutto il nome della funzione è sbagliata (hai scritto miomidolo_cron quando, credo, sia miomodulo_cron, se il tuo modulo si chiama miomodulo).
Secondariamente, l'echo all'interno della funzione non ha molto senso perchè non lo vedresti da nessuna parte... se devi scrivere qualcosa come di solito si fa con il cron, potresti usare la funzione watchdog() (http://api.drupal.org/api/drupal/includes--bootstrap.inc/function/watchd...).
Come terza cosa, il secondo echo non può stare li svolazzante: dovresti fare una funzione che in una pagina ti stampa quella stringa... Io ti consiglio di fare alcune prove più basilari sulla creazione di un modulo, che forse ti sfugge qualcosa! Per maggiori info comincia da qui http://drupal.org/node/206753 (mi spiace, ma purtroppo dovrai abituarti all'inglese!!!)
;)