Antworten auf deine Fragen:
Neues Thema erstellen

PHP Script nach best. Zeit autom. aufrufen

progfrog

programming & 3d

Moin Community,

ich suche schon seit längeren eine Möglichkeit PHP Skripte nach einer bestimmten Zeit (diese varriert - mal 1min, mal 7h, mal so, mal so) aufzurufen. Ohne aber dafür meinen PC an haben zu müssen.

Das PHP Skript hat in einer Variable stehen, dass es z.B. in 7 Minuten wieder ausgeführt werden will. Dann soll eben nach 7 min wieder dieses Skript aufgerufen werden. Von alleine auf dem Server versteht sich. Im Prizip so ein bisschen wie Cronjobs, nur, dass ich eben keinen festen Zeitintervall habe.

Ich würde mich über eine Lösung SEHR freuen. Dann könnte ich nämlich mein Projekt auf die nächste Stufe heben. =)

Gruß progfrog
 

Duddle

Posting-Frequenz: 14µHz

AW: PHP Script nach best. Zeit autom. aufrufen

Das PHP Skript hat in einer Variable stehen, dass es z.B. in 7 Minuten wieder ausgeführt werden will.

Dann müsste schonmal sichergestellt sein, dass dein PHP sehr lang laufende Scripte zulässt, also nicht nach maximal 30 Sekunden abbricht. Da ich nicht weiss, wieviel Kontrolle du über den Server hast auf dem das Ding liegt, schliesse ich mal diese Möglichkeit aus.

Mein Ansatz wäre hier, dass das PHP-Script in eine Datei schreibt, wann es wieder ausgeführt werden will. Dann bastelst du dir ein Mini-Shellscript, welches das PHP-Script aufruft wenn die in der Datei angegebene Zeit erreicht ist. Dieses Shellscript wiederum lässt du minütlich durch einen Cronjob aufrufen.

Das mag nicht die beste Lösung sein (und du bräuchtest dazu auch genügend Schreibrechte auf dem Server), aber sie würde das Problem lösen.


Duddle
 

sangui

Noch nicht viel geschrieben

AW: PHP Script nach best. Zeit autom. aufrufen

Einige Hoster bieten auch sog. WebCronjobs an, da kannst du beim Hoster nen Cronjob einstellen, dass dann und dann die und die Datei aufgerufen wird. Musst du dich mal bei deinem Hoster schlau machen.
Die einzige andere Möglichkeit wäre den Rechner laufen zu lassen siche in Shell Skrip bzw. Batch Skript zu schreiben, was das übernimmt.
 

r3nt5ch3r

~ Allround pG ~

AW: PHP Script nach best. Zeit autom. aufrufen

1. Minütlicher Cronjob, der das Skript aufruft. Skript checkt dann obs ausgeführt werden soll und falls nicht => die()... (Shellscript für was?!^^)
2. Ich bin nicht so ein Fan von Cronjobs (gibts meist nicht auf Freehostern und die Konfiguration ist immer ein zusätzlicher Aufwand), deshalb benutze ich Ajax zum Aufruf von meinen PHP-Dateien. Problem dabei: Ajax wird natürlich erst dann deinen "Cronjob" ausführen wenn du auch die Seite lädst, die das Ajax-Skript auch ausführt... => Also falls dein "Projekt" mehrere User hat, die dein Skript auch öfters aufrufen, ist das wohl die beste Variante...
3.
Dann müsste schonmal sichergestellt sein, dass dein PHP sehr lang laufende Scripte zulässt, also nicht nach maximal 30 Sekunden abbricht. Da ich nicht weiss, wieviel Kontrolle du über den Server hast auf dem das Ding liegt, schliesse ich mal diese Möglichkeit au
 
Zuletzt bearbeitet:

progfrog

programming & 3d

AW: PHP Script nach best. Zeit autom. aufrufen

Hey, danke für die rege Beteiligung!

Einmal kurz zum Projekt: Es handelt sich nicht um eine Öffentliche Plattform, sondern lediglich eine Art Warteschleife für ein Browsergame auf die nur ich zugreife. Ich gebe dort Aktionen in Auftrag, und sie werden dann nach und nach abgearbeitet. Eben in den genannten variierenden Zeitabständen.

Die Idee mit dem Shell Skript hatte ich auch schon, ich habe allerdings bisher nur einen kostenlosen CronJob Anbieter gefunden. Dort kann man CronJobs bis minimal im 5min Takt ausführen. Das ist mir eigentlich etwas zu lang. Weiter soll das PHP Skript auf einem Funpic Server laufen auf dem ich leider keinen Zugriff auf die PHP Einstellungen habe. Dort ist der Skript Execution Timeout standardmäßig auf 10 Sekunden gestellt.

Ajax. Nun. Meine Momentane Variante des Programms läuft über AJAX. Ich habe eine Ajaxseite im Browser geöffnet. Diese gibt einen Auftrag an den Server, welcher mit der Zeit die es noch dauert bis zum nächsten Aufrag antwortet. Diese wird dann per JavaScripts setTimeout runtergezählt und dann wieder das PHP Skript aufgerufen, welches dann die nächste Aufgabe ausführt und wieder die Zeit die es bis zur nächsten dauert an das JavaScript zurückgibt. Und so weiter.

Von diesem Prinzip wollte ich eben eigentlich weg, da ich dafür eben immer das Clientseitige JavaScript -> meinen Browser -> meinen PC immer an haben muss, wenn ich das Skript benutze.

Wäre super wenn sich noch was findet. Zur Not müsste ich auf den CronJob im 5min Intervall und Shell Script ausweichen. Das wäre aber wirklich sehr träge. (Einige Aktionen im Spiel dauern sogar < 1min) Da wäre es sehr ineffizient immer 5min zu warten.

Gruß progfrog
 

saila

Moderatorle

AW: PHP Script nach best. Zeit autom. aufrufen

Über die Shell-Ebene muss aber noch geprüft werden, ob das Script aktuell aktiv ist, sonst gibt es Kuddelmuddel im Ergebnis. Sprich es muss noch eine Flag gesetzt werden, wenn es aktiviert ist.

Oder du setzt die Cronj-time angepasst an die Scriptlaufzeit. Allerdings kann man das wiederum im Vorfeld mit ini_set und passende Parameter testen, ob du die Laufzeit anpassen darfst.

Da die Laufzeit des Scripts eh länger als 30 Sec sein wird, würde ich den CronJob auf 5 Min. einstellen, da du nicht weist, ob es sonstige Probleme bei der D-Verarbeitung gibt.
 

progfrog

programming & 3d

AW: PHP Script nach best. Zeit autom. aufrufen

Nicht, dass du mich falsch verstehst.
- Ich will die Cron Jobs nicht über Funpic konfigurieren (ist meines Wissens nach auch nicht möglich), sondern über einen externen Anbieter. Habe da cronjob.de bei Google gefunden. Die bieten das eben kostenlos bei Intervall >= 5min
- Mein PHP Skript kann garnicht länger als 10sek laufen, da es danach sowieso von Funpic abgewürgt würde. Aber ich denke, dass du recht hast, dass es Sinn macht einn Flag zu setzen damit sich da nichts in die Quere kommt. Wer weiss.

Gruß progfrog
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.564
Beiträge
1.538.064
Mitglieder
67.487
Neuestes Mitglied
MichaelSEivy
Oben