wSearch::cronjob
Erstellung des Suchindexes Mithilfe eines Cronjobs
Funktionsaufruf
Parameter
- parameters
- frequency
- Zeitpunkt zu dem die Suchindexierung gestartet werden soll (daily|now|export|"00"->"23")
- numberPagesIndexedMinToActivateIndex
- Limit an indizierten Dateien, unter dem der Index nicht aktiviert wird.
Beispiel: Ausführen der Suchindexierung mithilfe eines cronjobs
Quelltext
<?php
//Folgende Anweisung wurde aufgrund des direkten Aufrufes über das Perl-Script auskommentiert.
//$_SERVER[DOCUMENT_ROOT] = "/homepages/IHRPFAD";
// ggf. HTTP_HOST setzen, falls über Konsole/Cron nicht verfügbar:
//$_SERVER['HTTP_HOST'] = "IHRE-Domain.TLD"; // z.B. "www.domain.dd"
require_once($_SERVER['DOCUMENT_ROOT']."/weblication/grid.php");
$pathSearch = "/de/weblication/project/searchs/default.wSearchBot.php";
//Objekt erstellen
$wSearch = new wSearch($pathSearch);
$options = array();
$options['frequency'] = 'daily';
print $wSearch->cronjob($options);
?>
Parameter
- frequency-> Zeitpunkt zu dem die Suchindexierung gestartet werden soll
- daily -> Täglich um Mitternacht
- now -> sobald ein Index erstellt wurde, wird erneut gestartet (nur zum Testen empfohlen)
- "00" - "23" ->Zeitangabe zu welcher Stunde gestartet werden soll
Tipps
Aufgrund evtl. Probleme mit Umgebungsvariablen (DocRoot, etc.) beim direkten Ansprechen des PHP-Scriptes über den Cronjob, empfehlen wir ein Perl Script über den cronjob aufzurufen, das
eine GET-Anfrage an das auszuführende PHP-Script stellt.
Bitte beachten Sie, dass die Shebang (Pfad zum Perlinterpreter, meist
#!/usr/bin/perl) auf Ihrem Server evtl. vom Beispiel abweichen kann.
Perl Script (cron.cgi)
#!/usr/bin/perl print "content-type: text/html\n\n"; use CGI::Carp qw(fatalsToBrowser); use LWP::Simple; $inhalt = get('http://DOMAIN/searchindex_cronscript.php'); print $inhalt;
Weiterführende Links
Hinweis
Beim Einsatz von Framework-Funktionen in eigenen Skripten beachten Sie bitte den Artikel "So verwenden Sie das PHP-Framework in eigenen Scripten".
Wenn Sie eine Funktion innerhalb einer Weblication® Seite z.B. über das PHP-Quelltext Element oder in einem XSL-Template über wsl:php einbinden, muss das Framework über die grid.php nicht mehr referenziert werden.