Frage

Ich habe einen cron, die die ganze Mail info und legt in einer Datenbanktabelle mit $mail_queue->put(.....) mit einer Option erzeugt E-Mails zu löschen, nachdem sie gesendet werden.

Hier ist, wo ich ein wenig Hilfe brauchen: Was ist der beste Weg, um die E-Mails zu senden, nachdem ich die oben genannten Informationen haben? Das Ausführen der $mail_queue->sendMailsInQueue() sofort, mit anderem Cron-Job (s) oder etwas anderes?

Der Server Grenze durch die Art und Weise ist zu 100 E-Mail / Minute. Derzeit der letzte csv diff für Mail_Queue nicht angewandt wird (zur Zeit mit Unterstützung daran arbeiten), so kann ich nicht die „Verzögerung“ Option verwenden.

hatte ich eine Idee, die $seconds_to_send Option zu verwenden, aber es wird auf der Basis des create_time Feldes berechnet, die nicht eine große Hilfe ist, aber es ist auch eine Option.

Alle Ideen und Vorschläge wirklich zu schätzen würden.

War es hilfreich?

Lösung

Ich persönlich würde den Cron-Weg gehen, weil es für das Scheitern weniger Gelegenheit gibt. Sagen Sie Ihre E-Mail-Server oder aus einem anderen Grund nicht mehr reagiert nicht mehr verfügbar ist. Oder was, wenn Ihr gesamtes Netzwerk für ein paar Stunden offline geht, aber die Server sind immer noch E-Mails zu generieren. Ich sage die Warteschlange verwenden.

Wie für die Verzögerung Sache, haben nur einen Service / CronJob die Warteschlange alle 60 Sekunden abholen, 100 E-Mails Pop und senden sie, dann beenden. Sie könnten eine Warteschlange von E-Mail bekommen gesendet werden, aber das wird ganz gleich geschehen, welches System Sie sich entscheiden. Die Warteschlange wird während außerhalb der Spitzenzeiten leeren, sowieso.

Andere Tipps

zwei Skripte verwenden. ein für Ihre mail_queue Tabelle mit den E-Mail müssen Sie senden und das zweite Skript in einem Go bevölkert die E-Mails in Blöcken von 90 Mail zu versenden. das zweite Skript eingestellt etwa alle 2 Minuten oder so aktiviert werden.

Sie können auch einfach aktualisieren Sie Ihren Hosting-Plan; -)

, warum Sie nicht Schleife über 100 E-Mails und Schlaf für 60 Sekunden. Das kostet Sie keinen Serverzeit, der einzige Nachteil Ihr Skript ein wenig länger läuft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top