【发布时间】:2016-07-22 23:59:27
【问题描述】:
我将 DRF 与 Twilio SMS 发送服务一起使用。我已经在一些对象保存中添加了这段代码——我在一些 API 调用中这样做了。但正如我所见,Django 等待执行 Twilio 代码(可能等待响应),从 Twilio 服务器获得响应大约需要 1-2 秒。
我想优化我的 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")
感谢您的建议!
【问题讨论】:
标签: django python-3.x django-rest-framework twilio