Email-Queueデータベーステーブルを作成しました。 PHPアプリケーションがこのテーブルに送信する必要があるすべての電子メールを挿入します。1分に1回以上クロンジョブを実行するには?
別のPHPスクリプトは、未送信のメールをすべて探して送信します。
私はこのスクリプトをcronjobsで実行します。残念ながら、cronジョブは1分に最大1回しか実行できません。 最悪の場合、ユーザーは電子メールが実際に送信されるまで1分待たなければなりません。
現時点での回避策として、addtional sleepパラメータを指定してスクリプトを呼び出し、cronジョブを複製する方法があります。
例:
* * * * * 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
上記の例では、スクリプトが10秒ごとに実行します。 emails.phpスクリプトの最初の行は、次のようになります。
superuser.stackexchange.comに詳しい方がいるかもしれません。 – EboMike
あなたはPHPデーモンが必要で、cronスクリプトは必要ありません。 –