Wie zum ausführen von Cronjobs öfter als einmal pro minute?

Erstellte ich eine E-Mail-Warteschlange-Datenbank-Tabelle. Ich werde fügen Sie alle E-Mails meiner PHP-Anwendung senden muss, um in diese Tabelle.

Einem anderen PHP-script sucht dann alle noch nicht gesendeten E-Mails und sendet Sie.

Ich führen Sie dieses Skript mithilfe von cronjobs. Leider cronjobs ausführen können, nur maximal einmal pro minute.
Also im schlimmsten Fall muss ein Benutzer warten Sie eine minute, bis seine E-Mail wirklich gesendet werden.

Meine aktuelle Idee für einen workaround, ruft das Skript ein zusätzliches Schlaf-parameter und der Vervielfältigung der cronjobs.

Beispiel:

* * * * * curl emails.php?sleep=0 >/dev/null 2>&1
* * * * * curl emails.php?sleep=10 >/dev/null 2>&1
* * * * * curl emails.php?sleep=20 >/dev/null 2>&1
* * * * * curl emails.php?sleep=30 >/dev/null 2>&1
* * * * * curl emails.php?sleep=40 >/dev/null 2>&1
* * * * * curl emails.php?sleep=50 >/dev/null 2>&1

Im obigen Beispiel ist das Skript laufen würde, alle 10 Sekunden. Die erste Zeile der emails.php Skript wäre:

sleep($_REQUEST['sleep']);
  • Es können mehr sachkundige Menschen auf superuser.stackexchange.com.
  • Sie möchten ein php-daemon, kein cron-Skript.
InformationsquelleAutor Norwald2 | 2011-01-12
Schreibe einen Kommentar