Codesequenz in zeitlichem Abstand ausführen?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Maxi
Mitglied
Beiträge: 252
Registriert: 09.11.2003 20:01

Codesequenz in zeitlichem Abstand ausführen?

Beitrag von Maxi »

Ich habe in ein phpBB Script ne Routine integriert die mir beim aufruf dieses Scriptes automatisch einen Newsbanner erstellt.

Nu will ich aber den Server nicht so sehr belasten und nicht bei jedem Aufruf dieses Scriptes einen Banner erstellen.
Mit welcher Codefolge kann ich denn sicherstellen das einige Befehler nur dann aufgerufen werden, wenn diese nicht schon die netzten 10 Minuten aufgerufen wurden.
Also anders gesagt: Eine Befehlsfolge soll maximal einmal alle 10 Minuten ausgeführt werden, das Script wird aber viel öfters aktiviert. Kenn mich mit den Zeitroutinen nicht so aus, kann mir da jemand helfen?
Benutzeravatar
Amdosh
Mitglied
Beiträge: 1011
Registriert: 21.10.2003 08:03

Beitrag von Amdosh »

PHP Seiten sind nicht so gut Zeitabhängig zu programmieren. Es soll aber "Cronjob" (oder Cronjobs) geben, damit kann man eine Php-Seite zeitabhängig aufrufen, die dann ihre spezielle Arbeit macht. Bloss mit Cronjob's habe ich mich noch nicht so sehr beschäftigt, schau einfach über eine Suchmaschine nach Erklärungen/Wirkungsweisen dafür.

Ein PHP/MySQL Projekt was ich kenne (aus den Internet), holt so neue Daten aus XML-Files und speichert sie in einer Datenbank ab.

Ist nur ein Anhalt.

Grüsse Amdosh
Maxi
Mitglied
Beiträge: 252
Registriert: 09.11.2003 20:01

Beitrag von Maxi »

Einen "Cronjob" kann ich bei mir nicht ausführen. Aber es muß doch eine Routine geben die vielleicht das Datum einer Datei liest und prüft ob diese in den letzten 10 Minuten erstellt wurde. Das würde mir schon reichen! Kann man denn ermitteln wann eine Grafikdatei erstellt wurde?
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Siehe [php:fileatime], [php:filectime], [php:filemtime] und [php:stat]
Maxi
Mitglied
Beiträge: 252
Registriert: 09.11.2003 20:01

Beitrag von Maxi »

Danke! Also wenn ich es richtig verstehe müsste meine Routine so lauten:

Code: Alles auswählen

$lastvisit = filectime($conjuto); 
$currentdate = date('U');
$difference = $currentdate - $lastvisit; 
if $difference>600 
{
  #... diesen code maximal alle 10 Minuten ausführen
}

Oder muß ich fileatime nehmen? Hmm?
Antworten

Zurück zu „Coding & Technik“