Предыдущие вызовы Twilio/ElevenLabs повторно инициируются при запуске нового пакета. Это проблема государственного накопPython

Программы на Python
Ответить
Anonymous
 Предыдущие вызовы Twilio/ElevenLabs повторно инициируются при запуске нового пакета. Это проблема государственного накоп

Сообщение Anonymous »

Я создаю автоматизированную систему массовых вызовов, используя Python (Async), MongoDB и интеграцию ElevenLabs Conversational AI с Twilio (

Код: Выделить всё

client.conversational_ai.twilio.outbound_call
).
Я столкнулся со странной проблемой «призрачного вызова», когда предыдущие номера вызываются снова, когда я инициирую новый, несвязанный вызов.
Сценарий:
  • Я инициирую вызов Пользователю A. Они отвечают, разговор происходит, и вызов завершается (отменяется или завершается).
  • Я инициирую новый вызов Пользователю Б.
  • Проблема: Пользователь Б получает звонок (верно), но Пользователю А также немедленно звонят снова (неверно).
Моя отладка: Я добавил оператор печати в начало моей функции ignore_bulk_call. Когда я запускаю процесс для пользователя B, я вижу, что печатаются оба номера телефонов пользователя A и пользователя B.
Это говорит о том, что мой список номеров или задач каким-то образом накапливается или не очищается между запросами. Мой код структурирован с использованием класса с асинхронным методом.
Фрагмент кода: Вот основная логика. Я подозреваю, что проблема может заключаться в том, как я обрабатываю список асинхронных задач или атрибуты класса, но я не могу обнаружить утечку.

Код: Выделить всё

async def initiate_bulk_call(self, call_data: Dict[str, str]):
# When I run this for the second person, this print shows the old person too
print(f"Processing number: {call_data['phone_number']}")

try:
# ... (Date/Time setup) ...

batch_call = client.conversational_ai.twilio.outbound_call(
to_number=call_data['phone_number'],
# ... (Agent ID and Dynamic Variables) ...
)

if hasattr(batch_call, 'call_sid'):
# ... (Update MongoDB with success) ...
else:
# ... (Handle failure) ...

except Exception as e:
logger.error(e)
Кто-нибудь сталкивался с таким поведением «задачи-зомби» при использовании Python Async/Twilio? Есть ли распространенная ошибка, связанная с изменяемыми аргументами по умолчанию или атрибутами класса, о которой я мог бы здесь упомянуть?
Любые советы приветствуются!

Подробнее здесь: https://stackoverflow.com/questions/798 ... a-new-batc
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»