php - 在time命令中执行定时命令

标签 php cron

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

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

我正在考虑动态创建相同数量的 cron jbos,它等于在给定日期过生日的人。这些 cron 作业然后会将 SMS 发送给适当的人一次,仅此而已。

我的问题是,有没有更聪明的方法来做到这一点? 其次,如果 cron 作业生成的想法足够好,是否有办法删除单个旧的 cron 作业,这样我就不会用永远不会再次运行的旧作业阻塞 cron 作业列表?

提前致谢。

最佳答案

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

使用一个每 5 分钟左右运行一次 cronjob 的系统会好得多(无论你想要多长时间),这个 cronjob 执行一个 PHP 脚本来确定当时是否有任何消息要发送,或者两者之间现在和最后一个 cronjob。

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

关于php - 在time命令中执行定时命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16101529/

相关文章:

python - 如果服务未运行,请重新启动 Raspberry Pi

php - 动态安排提醒电子邮件的最佳方式?有什么比 cron 更好的吗?

unix - 将 cron 运行的输出从 EC2 实例发送到外部电子邮件地址

Magento 时事通讯未通过 cron 作业发送

php - MySQL 语法错误(与 PHP 一起使用)

bash - 每日重启两次(cron)

javascript - 使用 Javascript 在 URL 中发送多个 GET 变量

php - 授权 header 和 apache_request_headers 函数

PHP - 553 Zoho mail 和 MyBB 不允许中继

PHP:我得到一个完全空白的页面,我不知道如何在 PHP 中调试它