Php 在时间命令中执行定时命令

Php 在时间命令中执行定时命令,php,cron,Php,Cron,我正在使用一个php应用程序,在这里我需要检查一个数据库,其中包含今天过生日的用户。 这是我通过cron工作完成的 现在,当我得到用户的生日,我需要给他们发送短信。 SMS具有一个单独的关联时间,该时间确定SMS应在何时发送。 假设约翰和彼得今天过生日。彼得从01-09工作,所以他应该在01收到短信,彼得从08-16工作,所以他应该在08收到短信 我在考虑动态创建相同数量的cron jbo,这相当于在给定日期过生日的人。这些cron jobs会在这一次向合适的人发送短信,就这样 我的问题是,有没

我正在使用一个php应用程序,在这里我需要检查一个数据库,其中包含今天过生日的用户。 这是我通过cron工作完成的

现在,当我得到用户的生日,我需要给他们发送短信。 SMS具有一个单独的关联时间,该时间确定SMS应在何时发送。 假设约翰和彼得今天过生日。彼得从01-09工作,所以他应该在01收到短信,彼得从08-16工作,所以他应该在08收到短信

我在考虑动态创建相同数量的cron jbo,这相当于在给定日期过生日的人。这些cron jobs会在这一次向合适的人发送短信,就这样

我的问题是,有没有更聪明的方法? 其次,如果cron作业生成的想法足够好,有没有办法删除单个的旧cron作业,这样我就不会在cron作业列表中塞满不再运行的旧作业


提前感谢。

如果您担心创建太多的cron作业(不确定系统上会出现多少问题),那么为什么不在操作系统级别只创建一个cron作业呢?然后,你可以每隔10分钟左右调用你的程序,它可以检查是否有新的人需要发送短信。

如果你想在特定时间使用cronjobs向每个人发送消息,那么你必须为每个人创建一个cronjob。在我看来,这是个非常糟糕的主意,因为你最终可能会有1000多份工作

如果系统每5分钟左右运行一次cronjob(不管您希望多长时间),您会感觉更好,这个cronjob会执行一个PHP脚本,以确定在当时,或者从现在到最后一个cronjob之间是否有任何消息要发送


虽然这可能意味着您的用户可能会晚5分钟收到他们的消息,但这是不可能的,因为我认识的任何人都不会在8:02开始工作,因此,如果cronjob是在8:00、8:05、8:10等,您几乎总能按时收到消息

+1,非常清楚。与其有很多crontab条目,不如让cronjob调用一个做很多事情的脚本。感谢awnser:)问题是SMS可以设置为8.01或16.44或任何时候。但是我想我可以每分钟调用一次程序,或者设置一个5分钟的间隔限制。那可能有用,谢谢@Rasmus如果您将其设置为1分钟,请确保您的代码所用时间不超过一分钟,并且不会占用太多CPU,因为它将与您的httpd和其他所有内容一起在您的服务器上运行。我举了一个10分钟的例子,因为短信并不总是在你想要的时候发送,我相信你会发现。此外,为什么有人需要在16点44分的时候提醒某人的生日呢?16.40或16.50也可以。