2017-08-25 26 views
1

Twilio PHP APIを使用してお客様に大量のSMSを送信しています。503 TwilioでSMSを送信しようとしたときにエラーが発生しました

Failed to load resource: the server responded with a status of 503 (Backend fetch failed)

さて私は、これは誤りであるかもしれないと思う:
問題は、私が唯一80st SMSのように送信することができ、その後、私は、サーバーのエラーを得たことです。
私はエコーecho "Sent message to $nameを成功させることができないので、twilioのSMSログでは、200のSMSが送信されたことがわかります。

このエラーの原因は何ですか?

foreach ($usrs as $number => $name) { 
    try{ 
     $sms = $client->account->messages->create(

      // the number we are sending to - Any phone number 
      $number, 

      array(
       // Step 6: Change the 'From' number below to be a valid Twilio number 
       'from' => "xxxxxxxxxxx", 

       // the sms body 
       'body' => "Hey $name. $text" 
      ) 
     ); 

     // Display a confirmation message on the screen 
     echo "Sent message to $name <br>"; 
    } 
    catch (TwilioException $e) { 
     die($e->getCode() . ' : ' . $e->getMessage()); 
    } 
} 
+1

私は1秒ごとに特定のメッセージを送信できると思う。 いくつかのSMSと[check link](https://support.twilio.com/hc/en-us/articles/115002943027-Understanding-Twilio-Rate-Limits-and-Message-Queues)の後に少し遅れを入れてください –

答えて

1

ここではTwilioの開発者エバンジェリストです。

Twilio has a limit of 100 concurrent API requests and will only send 1 message a second。 Ahmedがコメントで提案したように、100を超えるメッセージを送信する場合は、API呼び出しの間に遅延を追加することをお勧めします。

編集

は、各メッセージのsleep(1)を追加します。これは、各メッセージを送信した後にページ遅延を1秒にします。

foreach ($usrs as $number => $name) { 
    try{ 
     $sms = $client->account->messages->create(

      // the number we are sending to - Any phone number 
      $number, 

      array(
       // Step 6: Change the 'From' number below to be a valid Twilio number 
       'from' => "xxxxxxxxxxx", 

       // the sms body 
       'body' => "Hey $name. $text" 
      ) 
     ); 

     // Display a confirmation message on the screen 
     echo "Sent message to $name <br>"; 

     sleep(1); 
    } 
    catch (TwilioException $e) { 
     die($e->getCode() . ' : ' . $e->getMessage()); 
    } 
} 
+0

ありがとう。私はこれをテストします。あなたは私に例を与えることができますか?また、私はループの中で成功を一つずつエコーするべきだと思っていました。しかし、ページが失敗した時、そしてループが止まったら私は1つの成功のテキストを見たことがありません。どうしてこれなの? –

+0

成功メッセージをHTMLページにエコーしていますか? – philnash

+0

私の質問に示されているスクリプトは、PHPファイルにあります。私はtry-catch関数を使って悪いnrを並べ替える前にエコーが働いていました。 –

関連する問題