首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PHP中触发未来时间的事件

如何在PHP中触发未来时间的事件
EN

Stack Overflow用户
提问于 2011-07-16 02:08:40
回答 2查看 3.6K关注 0票数 1

我已经编写了一个PHP应用程序,它向数据库中的电话号码广播语音消息。

现在我想给它添加一个“调度”功能。这基本上意味着管理员将能够为特定的语音文件设置未来的日期和时间。语音消息将准确地在该日期和时间广播。

我该如何编码呢?一些代码片段将非常受欢迎。

谢谢,阿米特

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-16 02:09:59

您需要查看CRON作业以自动执行脚本。请查看:http://net.tutsplus.com/tutorials/php/managing-cron-jobs-with-php-2/获取更多信息。

票数 4
EN

Stack Overflow用户

发布于 2011-07-16 03:06:25

正如Tom Walters所说,cron (如果您使用的是windows,则是计划任务)可能是一个很好的方法(至少在一开始是这样)。

Cron的最大分辨率是1分钟,所以希望这足够精确。

考虑这样一个表:

代码语言:javascript
复制
create table calls(
    id int,
    target_time datetime not null,
    actual_time datetime default null
    -- plus whatever data are necessary
);

然后,您可以编写一个执行以下操作的脚本:

  1. 在数据库中查询当前时间与target_time <=的所有调用,其中actual_time为NULL。(类似于在这些调用上执行SELECT * FROM calls WHERE actual_time IS NULL and target_time <= NOW())
  2. Iterates,进行调用,并在执行过程中更新行以设置actual_time。

然后,使用cron (或其他工具)每X分钟运行一次该脚本。

这是一个基本的架构,应该可以让您开始工作。

当然,如果您有多条出站呼叫线路或其他特殊需求,事情就会变得更加复杂。

如果您需要接近秒级的精度,cron将达不到要求。此时,您可以考虑编写一个或多个守护进程(连续运行的脚本)来更频繁地轮询数据库。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6711366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档