【问题标题】:Execute php script after 24 hours from creation date自创建日期起 24 小时后执行 php 脚本
【发布时间】:2019-11-19 19:42:16
【问题描述】:


我有以下场景:用户订购虚拟主机套餐(每日套餐),但由于是每日套餐,服务将在创建日期后 24 小时后过期。我的问题是如何在创建日期后 24 小时后执行 php 脚本来终止服务? (脚本稍后实现) Cron 作业不是解决方案,因为我不想从所有用户的开始日期每 24 小时执行一次。开始日期是用户订购包裹的时间。 谢谢!

【问题讨论】:

  • 只存储创建日期,当您访问数据时,检查日期是否 > 24 小时前(或仅选择
  • 是的,但我不希望它在用户访问数据时执行。我希望它自动化
  • 您必须跟踪包何时开始在某个地方,这将包括它何时开始。为什么运行一分钟左右并检查开始时间的 cron 作业不是一个可行的选择?听起来正是 cron 的设计目的。
  • 为什么 CRON 不是解决方案?这似乎是最好的方法..
  • 一台使用了 10 年的笔记本电脑都可以应付,更不用说现代服务器了。

标签: php


【解决方案1】:

取决于您的 Linux 发行版和安装类型(最小化、以桌面为中心等)at(和atd at job 调度程序守护程序)是否默认安装。

要验证它,您可以发出如下命令:

$ which at
/usr/bin/at
$ which atd
/usr/bin/atd
$ yum whatprovides atd # to get the package name 
$ yum info pkg-name # to see if it is installed

(此处使用 Fedora 系统)

如果未安装包,您可以通过包管理器安装它,例如类似:

$ yum install at

然后您可以使用at 工作:

以下示例将安排 php command.php 在下一个上午 9:00 执行一次。

$> at 9:00 AM
at> php command.php
at> ^d
job 3 at 2019-11-20 09:00

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-19
    • 2017-08-10
    • 2015-08-21
    • 2018-12-27
    • 2015-04-20
    • 1970-01-01
    • 2020-03-05
    • 2015-09-19
    相关资源
    最近更新 更多