我认为 Cron 可能是对此的最佳答案,但这项任务似乎令人生畏,而且我对 cron 知之甚少,我最好先问一下。
我正在为 iPhone 应用程序编写一个 API,用于安排群组中的共享任务。这将需要在不同时间发送推送通知。这是一个例子:
A 给 B 分配了一项任务,要求他在 n 天内完成。添加此任务,通知 B 任务已分配,并在 n-1 天后发送提醒通知,如果 n 天后任务未完成,则发送另一条通知提醒 B 未能完成任务任务。
我的假设是这个过程会是这样的:
- 最初分配任务并将任务添加到数据库时,将调用一个 cron 计划脚本,该脚本将安排 2 个 cron 作业 - 一个用于触发提醒通知,一个用于触发失败通知。
- 任务完成后,它会调用另一个脚本,该脚本在数据库中将任务标记为已完成(或将其删除),并取消计划 cron 作业。
我是不是离题太远了,还是这是最简单的方法?如果是 - 是否有任何 PHP 类可以更轻松地动态调度(和取消调度)cron 作业?
最佳答案
您可以有一个每天触发一次的 cron 作业。
如果需要发送提醒(例如今天是n-1天,则发送通知),循环遍历数据库中的数据。
如果该日期已过但尚未完成,则它可以发送失败通知。
如果任务已完成,那么您可以更改该 cron 任务中的数据库,或者更频繁触发的单独任务。
希望对您有所帮助。
关于php - 动态安排 PHP 脚本执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12564040/