如果推迟通知在一段延迟后未送达,则发送短信

时间:2017-07-26 12:38:06

标签: php android ios node.js

我需要知道如何完成这项任务。

我有一个具有推送状态的数据库,表名为" pushStatus"使用字段" id,已发送,已发送"

  • 服务器在ios或android上发送推送通知,然后设置pushStatus.id和pushStatus.sent = true

  • 手机接收此推送并向服务器发送有关推送的回调查找pushStatus.id和pushStatus.delivered = true

这没关系,但如果在10秒内推未送达,我需要发送短信 如何在 NodeJS PHP

上执行此操作

------------------ UPD ------------------

我认为将nodeJS与setTimeout(sendSMS, 10000);一起使用然后在func sendSMS中检查是否为pushStatus.delivered,如果没有,则调用API服务来发送短信,但在这种情况下如何高负载?

2 个答案:

答案 0 :(得分:0)

您应该有另一列包含任何已发送推送的时间戳,并且有一个celery任务或cron-job在发送推送后10秒内触发,然后在您的任务中,您应该检查状态通知并发送短信,如果没有发送。

答案 1 :(得分:0)

您可以使用以下逻辑仅在 iOS 中实施此方案。
添加一个运行时间仅为10秒的NSTimer
现在,使用此计时器实例检查数据库字段。

if pushStatus.delivered == true, pushStatus.id == true {
   // don't send sms.
} else {
   // send sms.
}