SSE (サーバー送信イベント) 接続の数を制限するものは何ですか?
私はdjango/gunicorn/django-sseを使ったプロジェクトに取り組んでいます。
私のプロジェクトは、ページへの sse 接続の数を制限するとうまく機能します (5 で 6 がハングします)。これは大きな問題ではありません。しかし、私は好きなだけ持つことができることを好みます。
私の質問は、速度が低下しているのは接続の数ですか、それとも転送されるデータの量ですか?
最初の問題は接続を共有することで解決できると思いますが、2番目の問題はおそらくもう少し制限があります。
それが考えられるアイデアはありますか?
編集:
クライアント側の JS SSE コード:
function event(url, resource_name, yes, no, audio_in, audio_out, current_draw){
/**
* Listens for events posted by the server
*
* Useful site for understanding Server Sent Events:
* http://www.w3.org/TR/eventsource/
*/
var source = new EventSource(url);
source.addEventListener("message", function(e) {
resetTime(resource_name);
data = updateStatus(e.data, yes, no, audio_in, audio_out, current_draw);
document.getElementById(resource_name+"-in").src = data.audio_in_src
document.getElementById(resource_name+"-in").alt = data.audio_in_alt
document.getElementById(resource_name+"-out").src = data.audio_out_src
document.getElementById(resource_name+"-out").alt = data.audio_out_alt
document.getElementById(resource_name+"-current").innerHTML = data.current_draw + " A"
});
}
views.pyで
class ServerSentEvent(RedisQueueView):
def get_redis_channel(self):
"""
Overrides the RedisQueueView method to select the channel to listen to
"""
return self.kwargs["resource_name"]
urls.pyで
urlpatterns = patterns('',
url(r'^$',
views.Resources_page.as_view(),
name='resources_page'),
url(r'^(?P<resource_name>\w+)/$',
views.StatusPage.as_view(),
name='status_page'),
url(r'^(?P<resource_name>\w+)/sse/$',
views.ServerSentEvent.as_view(),
name='sse'),)