在PHP中使用任务调度程序调度任务

时间:2012-10-16 10:19:53

标签: php windows codeigniter scheduled-tasks

我想安排一个php函数在用户输入的预定时间执行。我的网站也在windows机器上托管,所以我正在寻找一个基于Windows的解决方案。我做了一个看起来像这样的函数:

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

在上面的代码中,电子邮件通知是我的控制器,sendemail是我编写代码的函数。有没有人知道使用PHP代码在Windows任务计划中创建计划任务的解决方案?

1 个答案:

答案 0 :(得分:1)

我有一次这样的要求(意思是服务器是windows),我用cronw得到了很好的结果。我在您的策略中建议的唯一更改是每分钟调用一次脚本并将所有日程表放在数据库表中。每次执行sendemail功能时,它将检查是否有任何电子邮件被安排在此时出去,它会发送它们并标记它们被处理。这种方法非常具有可扩展性,因此如果您有数百万人安排电子邮件,那么您最终不会创建数百万个计划任务。