technische Erklärung Versand News

<< Click to Display Table of Contents >>

Navigation:  News und Nachrichten >

technische Erklärung Versand News

Der Versand von News in der Drehscheibe wurde neu programmiert und funktioniert jetzt folgendermassen:

Der Benutzer löst den Versand einer News im Programm aus.

In der Datenbank der Anwendung wird in der Tabelle «messenger_messages» (Queue) ein Eintrag «SendNews» gespeichert.

Die SendNews-Routine analysiert die zu versendende News und speichert für jeden Empfänger einen eigenen SendNews-Auftrag in der Tabelle «messenger_messages» (Queue).

Innerhalb der Programmumgebung Symfony wird alle 2 Minuten ein interner Befehl gestartet. Dieses Programm macht folgendes:

oStoppt alle allenfalls aktiven Versandprogramme (die nennen wir «Consumers»)

oÜberprüft, ob in der Queue Eintragungen sind, dass News verschickt werden müssen

oFalls Eintragungen da sind, werden 10 Eintragungen erledigt: Die SendNews-Routine erstellt dann für jeden Empfänger (jeden Eintrag in der Queue) das zu versendende E-Mail, verschickt das E-Mail, führt das Protokoll (Log) nach und aktualisiert den Empfänger.
Nach 10 E-Mails wird das Programm «Consumer» gestoppt. Falls weniger als 10 Eintragungen da sind wartet der «Consumer» bis er (alle 2 Minuten) gestoppt wird.

 

Hinweis: Unser Service-Provider Cyon in Basel erlaubt uns pro Stunde maximal 500 E-Mails zu verschicken (SPAM Prävention).

 

Ein Rechenbeispiel: soll eine News an 600 Empfänger gehen, entstehen 601 Einträge in der Queue (Messages). Zuerst die Message, dass eine News versendet werden soll. Diese Message wird verarbeitet und erstellt 600 neue Messages, dass eine News als E-Mail an Empfänger XYZ versendet werden soll.

 

Diese 600 Messages werden dann im 2-Minuten-Rhythmus abgearbeitet, bis die Queue leer ist. Wie oben beschrieben verschicken wir alle 2 Minuten 10 Messages. Die letzte E-Mail dieser Beispiel-News wird damit nach 2 Stunden versendet (30 * 10 = 300 Messages pro Stunde).

 

So bleibt auch genug «Luft», dass noch andere E-Mails die aus der Anwendung verschickt werden im Maximum von 500 E-Mails pro Stunde Platz haben.