gpt4 book ai didi

django - 在 Django 中进行的 API 中的异步调用

转载 作者:行者123 更新时间:2023-12-02 17:28:45 25 4
gpt4 key购买 nike

我将 DRF 与 Twilio SMS 发送服务结合使用。我已经在一些对象保存上添加了这段代码——我在一些 API 调用中这样做了。但正如我所看到的,Django 等待 Twilio 代码被执行(这可能等待响应)并且它需要大约 1-2 秒才能从 Twilio 服务器获得响应。

我想优化我的 API,但我不确定我应该如何异步发送 Twilio SMS 请求。这是我的代码。

def send_sms_registration(sender, instance, **kwargs):
start = int(round(time.time() * 1000))

if not instance.ignore_sms:
client = TwilioRestClient(TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN)

activation_code = instance.activation_code

client.messages.create(
to = instance.phone_number,
from_ = DEFAULT_SMS_NAME,
body = SMS_REGISTRATION_TEXT + activation_code,
)

end = int(round(time.time() * 1000))
print("send_sms_registration")
print(end - start)



post_save.connect(send_sms_registration, sender=Person, dispatch_uid="send_sms_registration")

感谢您的建议!

最佳答案

API调用不是异步的,你需要使用其他方法来异步发送短信,你可以使用以下任何一种:

关于django - 在 Django 中进行的 API 中的异步调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36385796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com