0

ユーザーが入力したスケジュールされた時間に実行するようにphp関数をスケジュールしたい。また、私の Web サイトは Windows マシンでホストされているため、Windows ベースのソリューションを探しています。次のような関数を作成しました。

function sendemail()
{
    $cmd = 'schtasks /create /sc ONCE /tn emailtask /tr http://example.com/index.php/emailnotifications/sendemail';
    exec ($cmd);
}

上記のコードで、emailnotifications はコントローラーであり、sendemail はコードを記述した関数です。PHPコードを使用してWindowsタスクスケジューラでスケジュールされたタスクを作成するソリューションを知っている人はいますか?

4

1 に答える 1

1

私は一度そのような要件を持っていました(サーバーがウィンドウであったことを意味します)、そして私は良い結果でcronwを使用しました。戦略で提案する唯一の変更は、スクリプトを1分ごとに呼び出し、すべてのスケジュールをデータベーステーブルに配置することです。sendemail関数が実行されるたびに、この時点で送信がスケジュールされている電子メールがあるかどうかがチェックされ、送信されて処理済みのマークが付けられます。このアプローチは非常にスケーラブルであるため、何百万人もの人々が電子メールをスケジュールしている場合、何百万ものスケジュールされたタスクを作成することになりません。

于 2012-10-16T11:23:10.193 に答える