es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

API de Twilio – Cómo enviar solicitudes simultáneas.

Necesito paralelizar nuestras llamadas para enviar mensajes de texto para poder enviar más de uno al mismo tiempo.

Tenemos una cuenta de Twilio existente desde hace mucho tiempo. Cuando intento paralelizar la llamada para enviar un texto, obtengo una excepción de “Too Many Requests” de Twilio.Exceptions.ApiExceptions (429) https://www.twilio.com/docs/api/errors/20429.

Este es nuestro método que llama a Twilio para enviar el texto:

public async Task<MessageResource> SendMessage(string body, string ToNumber)
{ 
    Twilio.TwilioClient.Init(config.apiKey, config.apiSecret, config.accountSID);

    var message = await MessageResource.CreateAsync(
        body: body,
        from: config.fromNumber,
        to: new Twilio.Types.PhoneNumber(ToNumber)
     );

    return message;
}

Esta es la línea desde la cual estoy intentando invocar el método que llama al método anterior.

reminders.ToList().AsParallel().WithDegreeOfParallelism(2).ForAll(async r => { await ProcessReminders(r); });

¿Seguramente la API admite al menos 2 solicitudes concurrentes? Esta es una pregunta similar, pero tiene alrededor de un año y no estoy seguro de que se aplique ya que esta es una cuenta de larga duración.
https://stackoverflow.com/questions/63396091/twilio-api-too-many-requests-when-sending-sms

A partir de la versión 5, creo que Twilio cambió los métodos para crear clientes y enviar mensajes de instancia a estáticos. ¿Hay alguna configuración o nuevo medio para enviar mensajes de manera concurrente?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que al intentar paralelizar las llamadas para enviar mensajes de texto utilizando la Cuenta existente de Twilio, se encuentra una excepción “Demasiadas solicitudes”. Esto probablemente se debe a los mecanismos de límite de velocidad de la API, los cuales limitan el número de solicitudes que se pueden hacer en un período de tiempo determinado.

    Una posible solución para este problema es implementar una estrategia de límite de velocidad, como encolar solicitudes y enviarlas a una velocidad controlada, para evitar activar el límite de velocidad. Además, puede valer la pena investigar si la API admite niveles más altos de concurrencia, o si existen otras opciones disponibles para enviar mensajes de forma concurrente.

Comments are closed.