收到Webhook后等待

时间:2016-04-18 07:37:59

标签: php webhooks

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

这是我尝试做的:我有一个可以接收webhooks的php文件。我需要等待一段时间(例如15分钟)然后才能做出反应#34;这个webhook。所以,基本上,我的脚本应该: 1 - 接收webhook(已经完成当前代码) 2 - 等一段时间 3 - 做一些行动(已经完成)

如果没有等待部分,我已经完成了我需要的工作,并且效果非常好,现在我不知道如何处理它......

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

我该怎么做?

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

2 个答案:

答案 0 :(得分:1)

如果我是你,我会建立一个排队系统,这样当一个webhook进来时,会插入一个数据库中的一行。我将为'execution_time'添加一个列,并将其设置为从webhook进入时开始的15分钟。然后,您可以设置一个每分钟运行一次的cron作业,但只会触发execution_time'now'的位置。

答案 1 :(得分:0)

使用cron

“每小时过去15分钟。”

Minute  Hour  Day  Month  Weekday  Command  

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

注意:

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