• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Cronjob erstellen durch Formular

Hitrix

Mitglied
Hallo zusammen,

ich habe ein paar kleine Fragen zum Thema Cronjobs.

Zur Zeit habe ich meinen Webspace bei HostEurope und möchte gerne in meiner Website folgendes Feature einbauen:
Nachdem in einem Formular ein Datum angegeben wurde, wird genau an diesem Datum und zu einer gewissen Uhrzeit ein Newsletter versendet. Als Lösungsansatz wurden mir Cronjobs empfohlen. Angebote wie z.B. Cronjobs habe ich mir angeschaut, jedoch ist das Problem, dass man dort ja nur Feste Zeiten einstellen kann, ich würde das ganze jedoch variabel eingeben können. Ist es irgendwie möglich das ganze durch PHP zu steuern bzw. einen Cronjob zu bearbeiten?

Liebe Grüße
 
Werbung:
Hi,
sofern es sich bei deinem "Webspace" auch um einen root Server handelt dürfte das kein Problem sein... Kenne mich zwar nicht mit den Befehlen für Cron aus... Aber sowas in der Art wie:
<?php
system("cron -time 20:00:00-12.12.2010 -action ./datei");
?>
dürfte schon gehen.. Musst dir halt ein Beispiel bei google besorgen ;)
Falls du keinen root Server hast, wirst du um einen externen Service nicht herumkommen...
lg rexini
 
Werbung:
Wieso lässt du den Cron nicht alle 5 Minuten durchlaufen und prüfst im Cron, ob der Newsletter jetzt versandt werden soll bzw. ob er in den letzten 5 Minuten versendet werden sollte, aber noch nicht versandt wurde und schickst dann den Newsletter ab (falls er eben noch nicht versandt wurde)?
 
Nein, leider habe ich keinen root-Server, sondern nur ein Webhosting Paket (nennt sich WebPack 2.0 XXL).

Wieso lässt du den Cron nicht alle 5 Minuten durchlaufen und prüfst im Cron, ob der Newsletter jetzt versandt werden soll bzw. ob er in den letzten 5 Minuten versendet werden sollte, aber noch nicht versandt wurde und schickst dann den Newsletter ab (falls er eben noch nicht versandt wurde)?

Das hört sich gut an! Danke für den Tipp. Hast du schon eine Idee im Kopf, wie man das am cleversten realisiert?
Denkst du ein Datenbankeintrag vom Formular, der dann später vom script für den Cronjob überprüft wird, wäre die beste Lösung?

Grüße und vielen Dank für eure Beiträge.
 
Hallo zusammen,

ich habe ein paar kleine Fragen zum Thema Cronjobs.

Zur Zeit habe ich meinen Webspace bei HostEurope und möchte gerne in meiner Website folgendes Feature einbauen:
Nachdem in einem Formular ein Datum angegeben wurde, wird genau an diesem Datum und zu einer gewissen Uhrzeit ein Newsletter versendet. Als Lösungsansatz wurden mir Cronjobs empfohlen. Angebote wie z.B. Cronjobs habe ich mir angeschaut, jedoch ist das Problem, dass man dort ja nur Feste Zeiten einstellen kann, ich würde das ganze jedoch variabel eingeben können. Ist es irgendwie möglich das ganze durch PHP zu steuern bzw. einen Cronjob zu bearbeiten?

Liebe Grüße

Du könntest theoretisch ein Script (ohne Cronjob) erstellen,dass immer gestartet wird sobald die Startseite aufgerufen wird ,das überprüft dann ob ein Newsletter zum versenden vorhanden ist
Geht aber nur falls es genügend Besucher auf deiner Seite gibt
 
Werbung:
Und was ist, wenn er am 24.12. um 00:00 einen Newsletter mit Weihnachtsgruß verschicken will? Ich glaube kaum, dass da wirklich viele Leute surfen oder dass er dann manuell auf die Seite gehen will.

Das hört sich gut an! Danke für den Tipp. Hast du schon eine Idee im Kopf, wie man das am cleversten realisiert?
Denkst du ein Datenbankeintrag vom Formular, der dann später vom script für den Cronjob überprüft wird, wäre die beste Lösung?

Ja genau daran hab ich gedacht. Notfalls kannst du die Daten auch in einer Datei speichern und auslesen lassen.
 
Was ist die beste Lösung einen Newsletter zu versenden? Ich hab gerade gelesen, dass die mail(); funktion manchmal schlapp macht nach 500 Mails. Ich hätte es normal mit einer Schleife gemacht, die einfach jedes mal einen anderen Empfänger einträgt. Aber auf diese Art und Weiße Emails verloren gehen, wäre das natürlich nicht gut. Ich habe über google nun direkt keine alternative gefunden. Habt ihr mir das was?!
 
Werbung:
Zurück
Oben