CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Entwicklung und Softwaredesign Hier können strukturelle (Programmier-) Konzepte diskutiert und Projekte vorgestellt werden |
26.10.2012, 12:06:48
|
Anfänger
|
|
Registriert seit: Oct 2012
Alter: 34
Beiträge: 4
|
|
automatisierte Datenaktualisierung
Guten Tag,
ich hoffe ich bin erstens an dieser Stelle hier richtig und zweitens, dass mir jemand auch helfen kann.
Ich suche eigentlich nur einen Denkanstoss. Ich kann leider auch keinen Link zu meiner Seite schicken, da alles was ich heir schreibe bisher nur in der Theorie vorhanden ist und ich erst an die Umsetzung gehe, wenn ich einen Lösungsansatz habe.
Grundlegende Informationen zuerst:
Ich habe WebspacePaket mit einer mysql-Datenbank auf einem Linux-System.
Diese enthält unter anderem Daten von angemeldeteten Benutzern von meiner Seite.
Um manche Funktionen auf dieser Seite nutzen zu können müssen die Benutzer Punkte vorweisen können. Diese Punkte laden sich mit der Zeit auf, egal ob der Benutzer Online ist oder nicht.
Dies wäre theoretisch einfach mit einem Cronjob machbar, aber der Knackpunkt komtm jetzt:
Für die Benutzer gibt es unterschiedliche Ränge und je nach Rang laden sich die Punkte entsprechend schneller/langsamer auf.
Ich würde nun ungern für jeden Rang einen eigenen Cronjob anlegen, zumal die Unterschiede teilweise nur wenige Sekunden betragen.
Kann mir nun vielleicht jemand einen Ansatz liefern, mit dem ich das Problem lösen kann?
Sollte ich mich unklar ausgedrückt, oder für die Lösung wichtige Details vergessen haben, so meldet mir das bitte, damit ich diese noch hinzufügen kann.
Danke schonmal für eure Unterstützung.
|
29.10.2012, 16:43:31
|
Anfänger
|
|
Registriert seit: May 2008
Beiträge: 51
|
|
AW: automatisierte Datenaktualisierung
Zitat:
Zitat von Tsengo
Guten Tag,
... Für die Benutzer gibt es unterschiedliche Ränge und je nach Rang laden sich die Punkte entsprechend schneller/langsamer auf.
Ich würde nun ungern für jeden Rang einen eigenen Cronjob anlegen, zumal die Unterschiede teilweise nur wenige Sekunden betragen.
Kann mir nun vielleicht jemand einen Ansatz liefern, mit dem ich das Problem lösen kann?
...
|
Dann mach es wie die großen ;o)
1. Erstell eine PHP-Datei, welche die "Update Arbeiten" der jeweiligen Benutzerränge durchführt.
2. Erstell einen Cronjob, der die zuvor erstellte PHP-Datei jede Minute ausführt.
Die zuvor PHP-Datei sollte nun folgende Aufgaben durchführen.
- Prüfen wann für welchen Rang der letzte Durchlauf war (z.B. über Timestamps in einer Tabelle)
- jeweilige Update-Arbeit der Ränge durchführen, wenn der aktuelle Timestamp abzüglich Timestamp in der Tabelle kleiner ist, als ein vorgegebener Wert.
|
29.10.2012, 17:25:37
|
Anfänger
|
|
Registriert seit: Oct 2012
Alter: 34
Beiträge: 4
|
|
AW: automatisierte Datenaktualisierung
Okay danke dir, so werde ich es auf jeden Fall versuchen.
Was mir dabei aber dann auch aufgefallen ist:
Ich muss ja dann aufpassen, dass keiner der Intervalle kleiner als 60 Sekunden wird, oder? Sonst hätte dieser Rang mehr oder weniger "Verlust" da er nicht das volle Potential ausschöpfen kann. Liege ich damit richtig?
Da ich davon ausgehe, mit dieser Annahme korrekt zu sein, würde ich meine Frage gerne erweitern, ob es denn möglich ist unter 60 Sekunden solche Aktualisierungen vorzunehmen, oder ob ich dafür einen komplett eigenen Server bräuchte und dann ein entsprechendes Programm schreiben müsste (z.b. in C# oder anderen Programmiersprachen)?
Danke nochmals :)
|
29.10.2012, 17:47:16
|
SELFPHP Experte
|
|
Registriert seit: Jun 2008
Alter: 16
Beiträge: 2.269
|
|
AW: automatisierte Datenaktualisierung
Frage doch auch mal ob das nicht grundsätzlich der falsche Ansatz ist......
z.B.:
Wozu die cronjobs, wenn doch mal eine Stunde lang kein User auf den Server zugreift?
|
29.10.2012, 18:08:37
|
Anfänger
|
|
Registriert seit: Oct 2012
Alter: 34
Beiträge: 4
|
|
AW: automatisierte Datenaktualisierung
Die Frage ist berechtigt.
Nun ich möchte, dass sich diese Punkte der einzelnen Ränge aufladen, egal ob der Nutzer auf der Seite ist oder nicht.
Ich habe nunmla gedacht, dass es mit einem Automatismus funktionieren müsste der eben im entsprechenden Intervall aufgerufen wird, das würde ja für einen Cronjob sprechen.
Ich weiß leider gerade nicht wie ich es anders lösen sollte. Hast du denn einen Vorschlag für einen anderen Ansatz?
|
29.10.2012, 18:16:54
|
SELFPHP Experte
|
|
Registriert seit: Jun 2008
Alter: 16
Beiträge: 2.269
|
|
AW: automatisierte Datenaktualisierung
Dann betrachte es doch mal von der Seite des Anfragenden. Dem ist egal ob der Server die ganze Zeit sinnlos pumpt. Der Anfragende möchte aktuelle Daten sehen. Was hält dich also davon ab, die Daten genau dann zu berechnen, wenn sie gebraucht werden?
|
29.10.2012, 18:23:29
|
Anfänger
|
|
Registriert seit: Oct 2012
Alter: 34
Beiträge: 4
|
|
AW: automatisierte Datenaktualisierung
Achso,...hmm ok.
Das heißt solange die Personen offline sind nichts berechnen und erst wenn diese Online kommen dann zur Laufzeit ausrechnen und bei Bedarf mit Javascript oder ähnlichen Schleifen während der Onlinezeit weiterrechnen.
Das wäre eine Möglichkeit.
Danke für den guten Tipp :)
|
29.10.2012, 20:46:16
|
Member
|
|
Registriert seit: Nov 2007
Beiträge: 843
|
|
AW: automatisierte Datenaktualisierung
Hi
Zitat:
Theorie ... Lösungsansatz ... zumal die Unterschiede teilweise nur wenige Sekunden betragen.
|
Und dann Cron's die jede minute laufen? Wohl falsches Konzept oder?
Glaub mir ich hab lange bei einem meiner Browserspiele getüftelt bis mir klar wurde
mit PHP+Cron läuft sowas nicht gut.
Zitat:
Dann mach es wie die großen
|
Glaub ich nicht das die das so machen ;)
Zitat:
Dann betrachte es doch mal von der Seite des Anfragenden. Dem ist egal ob der Server die ganze Zeit sinnlos pumpt.
|
Jo aber wir redeten doch von Rängen oder?
Was können die anderen dafür wenn manche nicht immer online sind?
Mein Rang ist ja nur dann was wert wenn ich ihn im vergleich sehe. Wenn jeder
nur seinen Rang sieht mag das ja aufgehen, aber ich würde an die Zukunft denken.
mfg
CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 10:33:13 Uhr.
|