首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用setTimeout()调度推送

使用setTimeout()调度推送
EN

Stack Overflow用户
提问于 2020-04-13 11:45:48
回答 1查看 141关注 0票数 1

由于定时推送在解析器上不可用,所以我使用setTimeout()来安排推送。我使用的是back4app。

代码语言:javascript
复制
// I call this cloud code
Parse.Cloud.define("pushMultiple",async (request) => {
//Using set timeout to send out a push 1 hour later
  setTimeout(pushout,100000);
});

//The function to send Notificaiton 
const pushout = () => {
        Parse.Push.send({
          channels: [ "t1g.com"],
          data: {alert: "The Giants won against the Mets 2-3."}
         },{ useMasterKey: true });
}

我的代码运行得很好。所以我的问题是:

1)我的方法可靠吗?

2)这样做的缺点是什么?

3)服务器上可以排队多少个setTimeouts(),有什么限制吗?

T.I.A

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-15 14:03:09

为什么不使用调度的cron作业?我相信back4app支持cron作业。将必要的推送信息保存到数据库中。然后在每次"x“的时候运行一段云代码。如果推送时间到了,你的云代码会发送推送。SetTimeOut()方法,我相信它保持了云代码的存在或引用。这意味着你的云代码仍然在“工作”,即使它只是在等待,解析服务器应该保留它的实例。这意味着你浪费了你的资源。另外,我相信back4app有一个云代码超时。即使您使用setTimeOut()一个小时,云代码也会在超时后终止。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61181249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档