PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Multi-Cron öffnet nur den ersten Cron.



blacky123
20.09.2009, 18:28
Also ich habe mir den Schnippsel Multi-Cron besorgt.
Leider ruft er mir nur immer den Code mit dem ersten Include ab.
Hiermal ein Beispiel.


Updates per Cronjob.<br>
<br>
<?
ignore_user_abort(true); // *nicht ändern* Diese Funktion lässt den Cronjob auch dann fertig laufen, wenn der Cronjobservive beendet
$pfadAngleich = "";
$verbose = 1; // *nicht ändern* Kein Ausgabe was genmacht wurde
include ("stg_ads4allweb.forcedbanner.php");
include ("stg_ads4allweb.paidlinks.php");
include ("stg_ads4allweb.paidmail.php");
?>

So hab ichs eingetragen. Leider ruft er nur die forcedbanner ab, der Rest bleibt aus.
Was mache ich falsch?

MfG Blacky

Hardy
20.09.2009, 19:02
die()

musst du aus den einzelnen crons entfernen.

Lokutos
20.09.2009, 19:06
Also ich habe mir den Schnippsel Multi-Cron besorgt.
Leider ruft er mir nur immer den Code mit dem ersten Include ab.
Hiermal ein Beispiel.


Updates per Cronjob.<br>
<br>
<?
ignore_user_abort(true); // *nicht ändern* Diese Funktion lässt den Cronjob auch dann fertig laufen, wenn der Cronjobservive beendet
$pfadAngleich = "";
$verbose = 1; // *nicht ändern* Kein Ausgabe was genmacht wurde
include ("stg_ads4allweb.forcedbanner.php");
include ("stg_ads4allweb.paidlinks.php");
include ("stg_ads4allweb.paidmail.php");
?>

So hab ichs eingetragen. Leider ruft er nur die forcedbanner ab, der Rest bleibt aus.
Was mache ich falsch?

MfG Blacky

nicht zu empfehlen so da du so das problehm bekommst das die werte summiert werden und so fehler in der vergütung etc kommen
(zumindst wahr es bei mir so

musst dan mit unset(); arbeiten.

MFG Lokutos

Hardy
20.09.2009, 19:09
stimmt habe mir gerade ein stg angeschaut da kann das passieren.
Wenn du multicron nutzen willst und nicht viel umbauen willst nimm die Interface: http://shop.klickwarriors.de/cat_8.html
dort arbeiten die neuen auch nicht mehr mit die() :wink:

blacky123
20.09.2009, 19:19
Also soll ich das so machen?

Updates per Cronjob.<br>
<br>
<?
ignore_user_abort(true); // *nicht ändern* Diese Funktion lässt den Cronjob auch dann fertig laufen, wenn der Cronjobservive beendet
$pfadAngleich = "";
$verbose = 1; // *nicht ändern* Kein Ausgabe was genmacht wurde
unset "stg_ads4allweb.forcedbanner.php";
unset "stg_ads4allweb.paidlinks.php";
unset "stg_ads4allweb.paidmail.php";
?>

Oder wie?^^

Hardy
20.09.2009, 19:26
die unset function muss direkt in die stigma crons ganz an anfang zb

unset($file1);
unset($interface);
weiß leider nicht was noch alles zurückgesetz werden muss.

blacky123
20.09.2009, 19:44
Gut, ich weiß auch nicht was da alleszurückgesetzt werden muss.
Dann sind wir ja schon 2 ^^

Danke trotzdem. Vlt weiß da ja jemand genau *hust* lokutos *hust*^^

mfg

Lokutos
20.09.2009, 21:56
include ("stg_ads4allweb.forcedbanner.php");
unset($GLOBALS);
include ("stg_ads4allweb.paidlinks.php");
unset($GLOBALS);
include ("stg_ads4allweb.paidmail.php");
unset($GLOBALS);


sowas in der art weis gar nicht ob das in php5 unterstützt wird.

MFG Lokutos

jpwfour
20.09.2009, 22:57
Ansonsten mit der Funktion:
http://us.php.net/manual/en/function.get-defined-vars.php

Alternativ einfach mal alle Variablen im Cron raussuchen, soviel solltens ja nun auch nicht sein :biggrin1:

h-m
22.09.2009, 17:46
Ich mach das ungefähr so:

#!/usr/local/bin/php5
<?php
header('Content-type: text/plain');
@set_time_limit(0);
@ignore_user_abort(true); // *nicht ändern* Diese Funktion lässt den Cronjob auch dann fertig laufen, wenn der Cronjobservive beendet



function logit($logtext) {
global $log;
$log .= $logtext."\n";
}

function abort($logtext) {
logit("Fehler: $logtext\nMulticron wurde beendet.");
echo $log;
die();
}

logit('Multicron wurde gestartet.');

// Cronjobs:

$cronjobs = array (

"webmasterlose.int.php" => "http://www.xyz.de/cron.php?id=2&pw=abcde",
"hp-lose.int.php" => "http://www.xyz.de/cron.php?id=3&pw=abcde"
);


// Cronjobs starten:

foreach ( $cronjobs as $name => $url ) {
logit ("\n$name\n$url\n".file_get_contents ( $url )."\n--------------------------------------------------------\n\n");
}

// bei Bedarf auskommentieren:
// mail("admin@xyz.de", "Multicron Ergebnis", "Folgende Meldungen hat das Multicron-Script erhalten:\n\n".$log, "From: admin@xyz.de");

echo $log;

?>

Seitdem mein Provider die Einstellung "allow_url_fopen" ohne Ankündigung deaktiviert hat, geht das aber nicht mehr. Offenbar benutzen per Cronjob gestartete PHP-Skripte nicht die gleichen Einstellungen wie die durch FastCGI ausgelieferte Skripte. Meine Webseiten haben nämlich kein Problem, nur die Cronjobs.
Das hat man halt davon wenn man sich auf billige Provider verlässt.
Ich bin bei FlyHost und kann die spätestens jetzt nicht mehr empfehlen.

Zockervogel
23.11.2009, 15:05
läuft das jetzt ohne Probleme ?
Da ich auch die STG-Interfaces nutze wäre das schon interessant :-)

Zockervogel
23.11.2009, 18:41
als PHP-Nicht-Profi muss ich blöde fragen (wie halt immer)

die erste Zeile:
#!/usr/local/bin/php5

muss hier der absolute Pfad bei von PHP meines Providers rein oder kann ich das ganz ignorieren. Laufen "tut es" (glaube ich) ... hehehehe

Wenn ich das als eigenen Cron einbinden will, muss ich doch eigentlich nur bei anderen Interfaces "klauen", damit es nicht von außerhalb unbefugt aufgerufen werden kann.

Sebmaster
23.11.2009, 18:58
die erste Zeile:
#!/usr/local/bin/php5

Kannst du ignorieren, dient unter Linux nur dazu, zu erkennen, welches Programm er aufrufen muss, wenn dus direkt aufrufst. Da Apache das aber für sich selbst macht, kannst dus auch löschen.