PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Script zum zeitgesteuerten Aufruf von Links



tomi
25.03.06, 14:34
Hallo!

Ich suche ein Script, welches in einem frei wählbaren Zeitabstand z.B. 30s ständig eine Webseite aufruft.
Normalerweise gibt es dafür Cronjobs, doch deren kleinstes Zeitintervall ist 1min.
Welche Scripte kommen dafür in Frage?
Kennt jemand einen Anbieter, der mir so ein Script hosten kann?

Grüße

michael.sprick
25.03.06, 15:21
Mach doch in Deinem Skript einfach



URI='www.web.de'
wget $URI && sleep 30 && wget $URI


und das Ganze dann minütlich per cron...

tomi
25.03.06, 15:37
Mach doch in Deinem Skript einfach



URI='www.web.de'
wget $URI && sleep 30 && wget $URI


und das Ganze dann minütlich per cron...
Hallo!

Danke für deine Antwort.
Könntest du mir vielleicht bitte noch erklären, was dein Code bewirkt.

Kann man diesen Code auch irgendwie in eine PHP-Datei implementieren?

rkauskh
25.03.06, 16:03
Hi

Schau dir nochmal an das PHP eine serverseitige Sprache ist. Du lieferst nur HTML aus. Das was du suchst könnte man eventuell unsauber über ein Meta-Tag machen.


<head>
<meta http-equiv="refresh" content="30; URL=http://selbe.seite.wie.eben/">
<!-- ... andere Angaben im Dateikopf ... -->
</head>

Ruft alle 30 Sekunden die selbe Seite auf. Ist eigentlich zur automatischen Weiterleitung gedacht. Paß aber auf das die Seite nicht im Cache des Browsers gelagert wird. Sonst siehste immer wieder das selbe.
Zweite Möglichkeit wäre Javascript. Such mal über Google nach einem passenden Codeschnipsel.

tomi
25.03.06, 16:13
Hi

Schau dir nochmal an das PHP eine serverseitige Sprache ist. Du lieferst nur HTML aus. Das was du suchst könnte man eventuell unsauber über ein Meta-Tag machen.


<head>
<meta http-equiv="refresh" content="30; URL=http://selbe.seite.wie.eben/">
<!-- ... andere Angaben im Dateikopf ... -->
</head>

Ruft alle 30 Sekunden die selbe Seite auf. Ist eigentlich zur automatischen Weiterleitung gedacht. Paß aber auf das die Seite nicht im Cache des Browsers gelagert wird. Sonst siehste immer wieder das selbe.
Zweite Möglichkeit wäre Javascript. Such mal über Google nach einem passenden Codeschnipsel.

Hallo!

Das ist leider nicht das was ich suche.

Es muss jederzeit in einem bestimmten Zeitabstand eine Seite aufgerufen werden, unabhängig davon, ob gerade ein Besucher auf der Seite surft, oder nicht.
Was ich brauche ist sowas wie ein Cronjob nur mit einem kleineren Zeitintervall.

rkauskh
25.03.06, 16:40
Hi

WAS genau soll dieses Script machen? Sicher keine Webseite aufrufen, denn wen keiner eine Seite ansieht, muß sie auch nicht aufgerufen werden.
Ich würde eher sagen bau dir dein Script mit einer while-Schleife und einer Endbedingung die nie eintritt. Oder so wie mein Vorredner es beschrieben hat.

Also prinzipiell:

while (0>1)
scriptbefehl
sleep 30
fi

Falls du meinen Vorschlag umsetzt, bau noch eine Prüfroutine ein, ob der vorige Durchlauf (z.B. inkl. Schreibvorgängen auf der Festplatte) wirklich abgeschlossen ist, bevor du neu anfängst.

tomi
25.03.06, 16:45
Ich möchte eine Art online Auktionshaus betreiben. Dazu benötige ich einen Mechanismus mit dem ich abgelaufene automatisch Auktionen beenden und verarbeiten kann.

marce
25.03.06, 18:38
Hm, mein erster Gedanke war "Hilfe, geh woanders spielen"

Aber ich unterstelle mal ein seriöses Ansinnen - und wenn Du ernsthaft drüber nachgedacht hättest, würdest Du erkennen, dass das, was Du willst völlig unlogisch und mit der denkbar schlechteste Ansatz an sich ist. Derlei wird anders abgewickelt...

sysop
25.03.06, 20:05
bei wget solltest du den befehl etwas ändern:
wget $URI --spider
damit nichts downgeloaded wird, sonst landet die seite immer als download in einem verzeichnis.

tomi
25.03.06, 20:20
Aber ich unterstelle mal ein seriöses Ansinnen - und wenn Du ernsthaft drüber nachgedacht hättest, würdest Du erkennen, dass das, was Du willst völlig unlogisch und mit der denkbar schlechteste Ansatz an sich ist. Derlei wird anders abgewickelt...
und wie wird das abgewickelt?


bei wget solltest du den befehl etwas ändern:
wget $URI --spider
damit nichts downgeloaded wird, sonst landet die seite immer als download in einem verzeichnis.
Und wo muss diese Datei abgelegt werden?

.morph
26.03.06, 17:21
und wie wird das abgewickelt?
Du solltest Dir 'nen Spider programmieren, respektive in Auftrag geben, der in einem vorgegebenen Takt ein HEAD Request auf besagte Seite absetzt. Wenn die Response *keinen* 304er enthält, lädt er Die Seite neu runter und wertet sie aus.

Solltest Du Dir zutrauen das selbst zu programmieren, kannst Du Dir in meiner Skriptsammlung (http://warp-factor.homelinux.net/tutorials/perl_scripts.shtml) eine Anregung holen. Ich verwende für Problemstellungen in der Art CPAN: LWP::UserAgent (http://search.cpan.org/~gaas/libwww-perl-5.805/lib/LWP/UserAgent.pm)

Ich nehme aber auch Aufträge an. ;)

-uw