Modulban cron (időzítő)

makgab képe

Hi!

Van egy egyszerű modulom, ami DB-ben tárol adatokat. Ezek blokk-ban jelennek meg.
Időzítővel szeretném megoldani az adatok módosítását.

Tehát a user beállított egy adatot (mezőértéket), az időzítő lefut (poormanscron) és, ha eltelt x óra, akkor módosítja ezt a mezőértéket.

Merre keresgéljek? Hogy lehet cron-t használni egy modulban?

Drupal verzió: 
makgab képe

Erre nem is gondoltam... :)
hook_cron()

0
0
makgab képe

nem egészen világos, ez mindig kell?

<?php
require_once('cron.php');
?>
0
0
makgab képe

Az jó megoldás, ha a hook_cron()-ban figyelem, hogy mikor futott le a szükséges művelet és az alapján futtatom újra?
Pl.

<?php
function mymodule_cron() {
  $last = variable_get('mymodule_cron_last_run', REQUEST_TIME);
  $most = time();
  // az if persze nem biztos hogy így jó is, csak az elv lényeges
  if ( $most - $last > 1 )
     db_query(" UPDATE mymodule SET mezo1='akarmi' ");
  variable_set('mymodule_cron_last_run', REQUEST_TIME);
}
?>

A Drupal doksiból indultam ki.

0
0
makgab képe

A hook_cron() mikor fut le?
Lokálban egy tesztgépben futtattam cron nélkül és lefutott. Tehát se a cron.php nem volt beállítva Linux alatt és a poormanscron modul sem volt feltelepítve.
Böngészőben oldal frissítésekor szépen felutott.

Most akkor ez mikor is fut le? Minden oldal hívásakor? Vagy csak én nézek el valamit?

0
0