In der IPS-Konsole, Ansicht hinzufügen, PHP-Ansicht.
Da werden alle aktuell laufenden Threads angezeigt. Wenn das voll läuft weil da ein Script oder mehrere Vorgänge quer schießen dann geht nicht wirklich mehr was.
… nun ist alles untätig, was nach dem Neustart auch zu erwarten war.
Beim nächsten Mal schaue ich da hin.
Ist natürlich „unschön“, dass die Scriptverarbeitung sich selbst einstellt.
Gestern Abend habe ich kurz vor Ende noch schnell ein live-update gemacht. Da die Scriptbearbeitung sich um 2:30h verabschiedet hat, gibt es wohl keinen Zusammenhang.
normalerweise stellt sie sich ja nicht ein, es kann ja vorkommen das sich einige Skripte aus irgendwelchen Gründen nicht beenden. Die anderen Anforderungen reihen sich zwar ein da aber kein anderer Slot mehr frei ist wird auch kein Skript mehr ausgeführt.
gestern abend hat sich die Scriptbearbeitung schon wieder eingestellt.
In der PHP Ansicht konnte ich das Script identifizieren, das daran Schuld war.
Es ist das Script, das alle 10min nach neuen POP3-Mails sucht.
Gestern um die Zeit, war bei mir ein Ausfall von Internet und Telefon. Vermutlich hat die „Nichterreichbarkeit“ des Email-Account alle ThreadIDs zum Blockieren gebracht.
Das Script basiert auf einer Vorlage hier aus dem Forum. Wo muss ich was einbauen, dass bei Ausfall des Internets die Scriptverarbeitung nicht eingestellt wird?
Gruss NBA
<?
require("28018.ips.php"); // Doppelte Sätze testen
require("56632.ips.php"); //Entscheidungstabelle für script-Starts per Mail
require("50136.ips.php"); //Logfile Eintrag in Datenbank
// Syntax der Betreffzeile
// Beschreibung .... #IPS[12345]
$script = "";
$betreff = "";
$datum = "";
$absender = "";
$inhalt = "";
$satz = "";
$MailArrayUID = "";
$POP3_ID = 35232 /*[.E-Mail\E-Mail empfangen\E-Mail empfangen (POP3)]*/;
$MailArray = POP3_GetCachedMails($POP3_ID);
for ( $x = 0; $x < count($MailArray); $x++ )
{
$datum = date("d.m.Y H:i:s", $MailArray[$x]['Date']);
$absender = $MailArray[$x]['SenderAddress'] ;
$betreff = $MailArray[$x]['Subject'];
$MailArrayUID = POP3_GetMailEx($POP3_ID,$MailArray[$x]['UID']);
$inhalt = substr($MailArrayUID['Text'],0,15) ;
$satz = $datum. "; " .$betreff."; ".$inhalt."; ".$absender;
// echo $satz . "
";
if (Satz_bekannt("A1",$satz)==false)
{
// echo "Satz ist neu
";
// Ist in Betreffzeile das Schlüsselwort
$k_auf = strpos($satz,"-ips-" );
if ($k_auf > 0)
{
$script = substr($satz, $k_auf + 5 , 5);
// echo "Skript: ".$script."
";
// darf das script gestartet werden - und ist es vorhanden?
if (script_mail($script, $absender))
{
logfile("42466","Emailprogrammstart durch ".$absender,$script);
Ips_sleep(2000);
IPS_RunScript($script);
}
} // ende IPS-script im Betreff
} // satz neu
} // ende FOR
// Anzahl der Mails
SetValue(34178 /*[.E-Mail\E-Mail empfangen\E-Mail empfangen (POP3)\Anzahl-emails]*/,$x);
?>