收到 Webhook 后等待

Wait after receiving a Webhook

经过一些研究,我还没有找到我想要实现的目标的答案。 我找到了一些关于 php sleep() 函数的信息,以及一些关于 CRON 作业的信息,但是 none 这些选项似乎可以解决问题。

这是我尝试做的事情:我有一个 php 文件可以接收 webhook。我需要等待一段时间(例如 15 分钟)才能 "reacting" 到此 webhook。所以,基本上,我的脚本应该: 1 - 接收 webhook(已使用当前代码完成) 2 - 等待一段时间 3 - 做一些动作(已经完成)

我已经在没有等待部分的情况下完成了我需要的工作,而且效果很好,但现在我不知道如何使用它...

如果我理解得很好,Cron Jobs 是定期执行的,而我只想在收到 webhook 时等待一段时间。 我想到了 sleep() 函数,但我担心它可能会占用很多资源...

我该怎么做?

更新:我似乎不能使用睡眠功能超过 30 秒(我猜是最大执行时间?)

使用 cron

“每小时过后的第 15 分钟。”

Minute  Hour  Day  Month  Weekday  Command  

15      *     *    *      *        php /homelink/path/filename.php

注:

您可以为 cron 设置一个电子邮件地址。每次触发它都会发送一封电子邮件通知。如果收到电子邮件意味着 cron 正在工作,如果没有则需要检查您的代码。您也可以使用适当的回声进行调试。

如果我是你,我会构建一个排队系统,这样当 webhook 进入时,数据库中的一行就会被插入。我会为 'execution_time' 添加一列,并将其设置为从 webhook 进入后的 15 分钟。然后您可以设置一个每分钟运行一次的 cron 作业,但仅在 execution_time 为 [=13] 时触发=].