Archiv verlassen und diese Seite im Standarddesign anzeigen : Ralley Crons ausführen
nadja2303
10.04.2009, 13:27
Hallo erstmal
Ich habe ein kleines problem:
Bei den Ralleys kann man ja unten "auswerten" drücken,
aber das ist kein Link, d.h. ich kann es auf Cronjobs nicht verlinken.
Gibt es trotzdem eine Möglichkeit es über Crons auszuführen?
Nur wenn du 'ne Cron Datei dazu hast, oder dir selber erstellst.
(Bzw. über Umwege auch Möglich, via Cron das "Drücken des Auswerten" Knopfes direkt zu automatisieren, aber soll ja jetzt nicht zu komplex werden)
Wenn Cron Datei dabei (bspw. bei Stigma Taggamerallye), sollte nach der Installation der Rallye der Link dazu unter "Crons" auftauchen.
Wenn nicht, musst du nur ne neue Datei erstellen, und dort den Teil reinkopieren, der ausgeführt wird nach "Drücken des auswerten Buttons" :wink:
nadja2303
10.04.2009, 13:43
<input type="Submit" name="auswerten" value="Auswerten">
</div>
</form>
Was soll davon in den Crone rein,
oder kannst du mir einmal eine Beispieldatei machen?
danke
Bsp. die AKtivrallye ausm VMS1:
aktiv.php:
<?php
$rp = 0;
$ralleydaten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_ralleydaten WHERE ralley='aktivralley' LIMIT 1"));
// Ralleystand reseten
if ($_POST['reset'] == 'Reseten') {
db_query ("DELETE FROM ".$db_prefix."_aktivralley");
}
// Ralley auswerten
if ($_POST['auswerten'] == 'Auswerten') {
$platz = db_query("SELECT * FROM ".$db_prefix."_aktivralley WHERE punkte > '".$ralleydaten['pro']."' ORDER BY punkte DESC LIMIT ".$ralleydaten['plaetze']."");
while ($pa = mysql_fetch_array($platz)) {
$rp++;
$buchungssumme = $ralleydaten['p'.$rp];
// Buchungen durchführen
db_query("UPDATE ".$db_prefix."_aktivralley SET ausgezahlt = '".time()."' WHERE uid='".$pa['uid']."'");
$buchungs_id = create_code(14);
kontobuchung ('+',$buchungssumme,$pa['uid']);
buchungsliste ($buchungs_id,'+'.$buchungssumme,'Aktivralley (Platz '.$rp.')',$pa['uid']);
bilanz (0,$buchungssumme);
}
}
?>Neue Datei im Ordner crons estellen (***.php):
<?php
$rp = 0;
$ralleydaten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_ralleydaten WHERE ralley='aktivralley' LIMIT 1"));
// Ralley auswerten
$platz = db_query("SELECT * FROM ".$db_prefix."_aktivralley WHERE punkte > '".$ralleydaten['pro']."' ORDER BY punkte DESC LIMIT ".$ralleydaten['plaetze']."");
while ($pa = mysql_fetch_array($platz)) {
$rp++;
$buchungssumme = $ralleydaten['p'.$rp];
// Buchungen durchführen
db_query("UPDATE ".$db_prefix."_aktivralley SET ausgezahlt = '".time()."' WHERE uid='".$pa['uid']."'");
$buchungs_id = create_code(14);
kontobuchung ('+',$buchungssumme,$pa['uid']);
buchungsliste ($buchungs_id,'+'.$buchungssumme,'Aktivralley (Platz '.$rp.')',$pa['uid']);
bilanz (0,$buchungssumme);
}
// Ralleystand reseten
db_query ("DELETE FROM ".$db_prefix."_aktivralley");
?>
Also nur ein bisschen umsortiert und die Bedingungen weg, da ja der Cron optimalerweise erst nach Rallyeende ausgeführt wird 1x
Dann noch in die Datenbank rein den Cron:
INSERT INTO vms_crons (cron,laufzeit,datei,bezeichnung) VALUES ("int_rallye",0,"crons/***.php","RallyeCron");
Was ist wenn die aktivrally eigentlich noch nicht zu ende ist :biggrin1:
Dann wird diese trotzdem ausgewertet...
Wenn jemand so schlau ist und den cron nutzt und ihn eventuell täglich laufen lässt wird jedes mal ausgewertet und resettet
Was ist wenn die aktivrally eigentlich noch nicht zu ende ist :biggrin1:
Dann wird diese trotzdem ausgewertet...
Wenn jemand so schlau ist und den cron nutzt und ihn eventuell täglich laufen lässt wird jedes mal ausgewertet und resettet
Du hast soeben die Tages-Aktiv-Ralley erfunden :biggrin1:
Was ist wenn die aktivrally eigentlich noch nicht zu ende ist :biggrin1:
Dann wird diese trotzdem ausgewertet...
Wenn jemand so schlau ist und den cron nutzt und ihn eventuell täglich laufen lässt wird jedes mal ausgewertet und resettet
die verbindung zur Datenbank besteht doch garnicht ???
erst wenn man sie über cron.php?id= aufruft und dann braucht es ja das passwort
Was ist wenn die aktivrally eigentlich noch nicht zu ende ist :biggrin1:...
War ja nur ein "Denkanstoss" :wink:
Optimalerweise hat man natürlich 1 Cron, der alle 15 Minuten läuft und alle beendeten Rallyes auswertet und nach einer Config-Tabelle dann auch automatisiert neu startet :yes:
Btw: Tagesaktivrallye: ich mein, da gibts schon eine von Stigma
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.