延遲伺服器¶
Channels 裡面的一個選擇性 app channels.delay
實做了 ASGI Delay Protocol.
Server 透過一個自訂的 rundelay
指令,which listens to the asgi.delay channel for messages to delay.
從延遲入門開始¶
安裝app加’channels.delay’到’INSTALLED_APPS’:
INSTALLED_APPS = (
...
'channels',
'channels.delay'
)
Run migrate to create the tables
python manage.py migrate
執行
python manage.py rundelay
現在你可以開始進行將訊息延遲
訊息延遲¶
To delay a message by a fixed number of milliseconds use the delay parameter.
這是一個案例:
from channels import Channel
delayed_message = {
'channel': 'example_channel',
'content': {'x': 1},
'delay': 10 * 1000
}
# The message will be delayed 10 seconds by the server and then sent
Channel('asgi.delay').send(delayed_message, immediately=True)