anpera.net
https://anpera.dyndns.org/phpbb3/

Routine regelmäßig durchlaufen lassen
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=4746
Seite 1 von 1

Autor:  Yunfei [ Di 23 Dez, 2008 14:06 ]
Betreff des Beitrags:  Routine regelmäßig durchlaufen lassen

Moinsen zusammen :)

Ich sitze nun seit Stunden vor meinem Rechner und komme auf keine Lösung für folgende "Probleme":
Und zwar wollte ich die setnewday.php dazu bringen regelmäßig aufgerufen zu werden, denn ich habe zumindest das Gefühl, dass nur ein Spieler sie "auslösen" kann und das ist für uns ziemlich ungünstig, da es scripte gibt, die stetig weiterlaufen müssen.
Dasselbe wollte ich mit einer Seite machen, die jeweils nur 1x an jedem 1. des Monats aufgerufen werden soll.
Ich hatte schon an Cronjobs gedacht, kann mir aber nicht vorstellen, dass das so funktioniert, oder irre ich mich?

Vielleicht fällt ja jemandem etwas ein, worauf ich gerade nicht komme und er verrät es mir ^^ würde mich jedenfalls freuen.

LG Yun

Autor:  Auric [ Di 23 Dez, 2008 16:21 ]
Betreff des Beitrags:  Re: Routine regelmäßig durchlaufen lassen

Wenn du Cronjobs zur Verfügung hast kannst du sie in diesem Falle durchaus nutzen. Ich würde folgendes empfehlen:
Verwende eine Zeile in den Settings monthlyevent oder was auch immer. Dazu setzt du als wert eben 1 oder 0, je nach dem, ob es gerade aktivierbar ist. Du brauchst um genau zu sein also zwei Cronjobs: Einer der dieses Flag einmal zu beginn jeden ersten Tages im Monats auf 1 setzt und einer, der es, sollte es noch nicht durch User geschehen sein, am Ende des Tages wieder auf 0 stellt.
Dann kanst du den Wert ganz einfach über getsetting im spiel verwenden und nach Nutzung eben auf 0 stellen.

Wenn du also Cronjobs zu Verfügung hast ist das ganze recht sauer lösbar - ansonsten müsstest du eben auf Dinge wie die Setnewday zurück greifen (oder Timed Events in MySQL oder was auch immer ^^)

Autor:  Yunfei [ Di 23 Dez, 2008 21:41 ]
Betreff des Beitrags:  Re: Routine regelmäßig durchlaufen lassen

Hallo nochmal.
Danke für deine Hilfe Auric, aber ich komme nicht weiter... :/

Ich habe mir bei Hetzner das nächstgrößere Angebot an Server gemietet, damit ich Cronjobs bekomme.
Dann habe ich versucht per Cronjob die setnewday.php ausführen zu lassen:
/home/httpd/cgi-bin/php5-fcgi-starter.fcgi /usr/home/<benutzername>/public_html/setnewday.php
Dummer Weise wird der Cronjob dabei rausgeschmissen, da er nicht eingeloggt ist ^^' War mir irgendwie klar, deswegen dachte ich auch, dass das nicht funktionieren kann. Hab ich jetzt meine Kohle zum Fenster rausgeschmissen?

Wir bräuchten auf jeden Fall einen globalen newday ohne dass jemand eingeloggt ist. Die monatliche Routine zum 1. eines Monats würde dadurch auch prima laufen. Hilfeeee! XD

LG Yun

EDIT: Habs mit viel rumgemurkse hinbekommen ^^
Jetzt ruft der Cronjob die setnewday.php auf, der Spieler aber leider ebenfalls. Also habe ich "require_once "setnewday.php";" in der newday.php auskommentiert, und hoffe, dass es jetzt funktioniert, ohne etwas zu zerschießen.

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/