2

私は、緊急時に 1 つのメッセージをグループに送信する一括 SMS アプリケーションに取り組んでいます。Twilio Docsを確認してコードを実装したところ、API から 429 エラーが発生しました。そのため、それを防ぐために指数バックオフ コードを追加しましたが、スクリプトを実行すると、配列にリストされている 2 番目の番号にしか送信されません。

const accountSid = '[ACCOUNT SID]';
const authToken = '[AUTH TOKEN]';
const client = require('twilio')(accountSid, authToken);

var numbersToMessage = ["+1800XXXXXXX", "+1888XXXXXXX"]

numbersToMessage.forEach(function(number){
  var message = client.messages.create({
    body: 'This is test #2 from August 21, 2020.',
    from: '[TWILIO SENDER NUMBER]',
    statusCallback: '[PIPEDREAM API URL]',
    to: number
  })
  .then(message => console.log(message.status))
  return((err) => {
  // assumes that the error is "request made too soon"
  backoffTime *= 2;
  i--;
  console.log(err);
  return delay(backoffTime);
});
  done();
});

指数バックオフは私にとってまったく新しいものなので、そこに問題があると確信していますが、それは私が知る限りです。npm パッケージexponential-backoffも使用してみましたが、運がありませんでした。

4

1 に答える 1