【问题标题】:want to make 'X Post' request every N seconds with Nodejs ( i'm working on facebook chatbot so i wanna make 250 Post Request every second )想用 Nodejs 每 N 秒发出一次“X Post”请求(我正在使用 facebook 聊天机器人,所以我想每秒发出 250 个 Post 请求)
【发布时间】:2019-02-05 05:26:05
【问题描述】:

我想做以下事情

  1. 我想每 1 秒发出 250 个 Post 请求。
  2. 当我使用 benchmark 为 Request 选择最好的 Module 时,它​​表明 superAgent 是解决慢请求的最快的 但还是有这个问题。

下面的代码能帮我做到这一点吗?

1 - 迭代用户

2- 将请求推送到 myRequests 数组

for (var i = 0; i < 1000000; i++) {
  //console.log(i);
  myRequests.push(function(callback) {
    request.get(
      "https://graph.facebook.com/v2.6/me/messages",
      {
        qs: {
          access_token: "55"
        },
        json: {
          recipient: {
            id: users[i]
          },
          message: "55"
        }
      },
      (err, res) => {
        callback(null);
      }
    );
  });
}

`

3- 将 ParallelLimit 设置为 250

async.parallelLimit(
    myRequests, 250, function(err, results) {
});

`

【问题讨论】:

  • request.get... 我以为你想要发布请求,而不是获取请求?为什么是“每一秒”?这是什么用例?
  • 是的,发布请求很抱歉:我想以 300 个用户/秒的速度向 1M 用户发送消息,所以我想要 300 个请求/秒
  • 我知道您希望每秒发送大量请求,但究竟为什么呢?这听起来确实很垃圾。
  • 正如我之前提到的处理 facebook 聊天机器人广播,但以下评论为我提供了来自 Facebook 的各种有用的广播 API
  • 哦,好吧,所以你的问题只是接触到所有用户,而不是向他们发送无数消息,对吧?

标签: node.js facebook-graph-api chatbot facebook-chatbot


【解决方案1】:

最慢的部分很可能是对 Facebook 的请求,无论你使用的是 superagent、axios 还是其他东西。如果你想广播消息,最好使用广播 API:

【讨论】:

  • 不客气,请不要忘记接受我的回答;)
  • 你知道在 Facebook 端而不是我的服务器端制作广播时间表有什么好处吗?另外,当我尝试正常广播消息时,为什么需要超过 3 小时?
  • 我认为这样会快很多,如果你自己尝试这样做,你可能会达到 api 限制。 3h是什么意思?你自己的解决方案?无论哪种方式,消息都不意味着是实时的。
猜你喜欢
  • 1970-01-01
  • 2021-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-13
  • 2018-08-19
相关资源
最近更新 更多