亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Django - 有沒有更好的方法來發送批量Twilio短信?

Django - 有沒有更好的方法來發送批量Twilio短信?

白衣非少年 2022-08-25 14:51:41
我目前正在使用以下 views.py 函數 sendsmss,以允許用戶在用戶完成html表單后向其訂閱者列表執行批量SMS消息,其中包含他們想要發送給訂閱者的sms:def sendsmss(request):    if request.method == "POST":        subscribers = Subscriber.objects.all()        sms = request.POST['sms']        mytwilionum = "+13421234567"        ACCOUNT_SID = TWILIO_ACCOUNT_SID        AUTH_TOKEN = TWILIO_AUTH_TOKEN        client = Client(ACCOUNT_SID, AUTH_TOKEN)        for subscriber in subscribers:            subscriber_num = subscriber.phone_number            client.messages.create(                to= subscriber_num,                from_=mytwilionum,                body=sms            )        return redirect('homepage')此功能有效,但我僅測試了3個訂閱者的批量發送。如果有100或1000個訂閱者,這將需要多長時間.如果需要很長時間,那么用戶是否會在重定向到主頁之前等待任務完成?有沒有更好的方法可以在Django中做到這一點?
查看完整描述

1 回答

?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

這些問題非常主觀,我將嘗試相應地回答這些問題:

如果有100或1000個訂閱者,這將需要多長時間

這完全取決于Twilio的性能。API 客戶端正在使用請求庫,并為每個訂閱者逐個創建消息。在理想情況下,所花費的時間似乎與訂戶數量成正比。

如果需要很長時間,那么用戶是否會在重定向到主頁之前等待任務完成?

根據您當前的實現,是。只有在將消息發送給所有訂閱者后,才會執行 。如果出現錯誤,它將被拋出,并且頁面不會重定向到主頁。return redirect('homepage')

有沒有更好的方法可以在Django中做到這一點?

是的,有。您可以使用異步作業隊列,例如芹菜,并將其與django掛鉤。在這種情況下,您可以在芹菜中啟動異步任務,并立即向用戶返回響應。您還可以選擇向用戶顯示正在運行的芹菜任務的進度(如果需要)。


查看完整回答
反對 回復 2022-08-25
  • 1 回答
  • 0 關注
  • 116 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號