Tom: newsletter soll 2000 mail's zeitversetzt versenden

Beitrag lesen

Hello,

Inwieweit die Verbindungssteuerung von PHP da hilft, kann ich nicht abschätzen.

Die hilft bedingt... bzw man benötigt sie ggf.

Aber exec() und die Abspaltung von Instanzen hilf auf jeden Fall.

"Prozesse mit PHP in den Hintergrund stellen" wären die Suchtipps für das Archiv. Wir haben das erst vor ca. vier Wochen erneut diskutiert und erfolgreich testen können.

http://forum.de.selfhtml.org/archiv/2005/8/t113333/#m719580

<?php   ### start_dauerlauf.php ###

echo "<h1>Starte Script</h1>\n";

$pid=exec("/usr/local/bin/php dauerlauf.php > /dev/null & echo $!");

echo "<p>Script inter PID $pid gestartet</p>\n";

?>

und der Prozess selber:

<?php #### dauerlauf.php ####

#error_reporting(E_ALL);
session_id('5d951f3e6c1bf3c651c9323b67d3a167');
session_start();
ini_set("track_errors","1");
$php_errormsg ='';

set_time_limit(0);
$pid = getmypid();

$ignore = ignore_user_abort(true);  ## Script läuft bei abort weiter

touch('prozess'.$pid.'_'.session_id().'.ctl');

while (file_exists('prozess'.$pid.'_'.session_id().'.ctl'))
{
  #$message = "Prozess $pid ".date('Y-m-d H:i:s')." lebt noch<br />\n";
  #$log =  error_log ( $message, 3, 'lauflog.html');  ## das kann man auch auf einaml pro Stunde
  sleep(1);                                           ## reduzieren

## error_log() verursacht keinen Fehler, wenn Verzeichnis oder File nicht writable sind

## In dieser Schleife kannst Du dann die Zeit abfragen, wann Deine Mailversand beginnen
  ## soll und bei jedem Durchlauf eine Mail versenden. Wenn alle versand sind, kannst
  ## Du die Schleife mit break verlassen und die Kontrolldatei löschen
  ## oder (schmutzig) auch gleich das Script mit exit.

## hier prüfen, was zu tun ist und dann darüber auch einen Log-Eintrag schreiben
  ## Die Aufgabe kann man auch über fsockopen() nach dersleben Methode starten
  ## Nach dem fclose() läuft das Script dann weiter...

clearstatcache();
}

echo "Script $pid beendet<br />\n";  # das landet ggf. sowieso im Device NUL
?>

Harzliche Grüße vom Berg
esst mehr http://www.harte-harzer.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau