收到 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] 时触发=].
经过一些研究,我还没有找到我想要实现的目标的答案。 我找到了一些关于 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] 时触发=].