{"action":"created","issue":{"url":"https://api.github.com/repos/tornadoweb/tornado/issues/2312","repository_url":"https://api.github.com/repos/tornadoweb/tornado","labels_url":"https://api.github.com/repos/tornadoweb/tornado/issues/2312/labels{/name}","comments_url":"https://api.github.com/repos/tornadoweb/tornado/issues/2312/comments","events_url":"https://api.github.com/repos/tornadoweb/tornado/issues/2312/events","html_url":"https://github.com/tornadoweb/tornado/issues/2312","id":305170875,"number":2312,"title":"Websockets with ThreadPoolExecutor - running messages on the same websocket sequentially","user":{"login":"nadavb","id":845175,"avatar_url":"https://avatars3.githubusercontent.com/u/845175?v=4","gravatar_id":"","url":"https://api.github.com/users/nadavb","html_url":"https://github.com/nadavb","followers_url":"https://api.github.com/users/nadavb/followers","following_url":"https://api.github.com/users/nadavb/following{/other_user}","gists_url":"https://api.github.com/users/nadavb/gists{/gist_id}","starred_url":"https://api.github.com/users/nadavb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nadavb/subscriptions","organizations_url":"https://api.github.com/users/nadavb/orgs","repos_url":"https://api.github.com/users/nadavb/repos","events_url":"https://api.github.com/users/nadavb/events{/privacy}","received_events_url":"https://api.github.com/users/nadavb/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-03-14T14:02:32Z","updated_at":"2018-03-18T11:23:53Z","closed_at":"2018-03-17T18:38:10Z","author_association":"NONE","body":"When using Tornado to handle websockets, how can we allow concurrency across different websockets (for example using ThreadPoolExecutor), while demanding that messages on the same websocket be run sequentially?\r\n\r\nSo it's kinda like some QoS (quality of service), so if I have 10000 clients, each is holding one websocket, I want to allow concurrency, that's why I will use ThreadPoolExecutor(8) to utilize my 8 processor cores, but I would like that every message from the same websocket be run sequentially, so that one websocket will not abuse the resources of the machine.\r\n\r\nOne solution may be to spawn 8 threads, and allocate for every websocket (out of the 10k) one thread that will handle this websocket. \r\n\r\nIs there anything like it?"},"comment":{"url":"https://api.github.com/repos/tornadoweb/tornado/issues/comments/373990436","html_url":"https://github.com/tornadoweb/tornado/issues/2312#issuecomment-373990436","issue_url":"https://api.github.com/repos/tornadoweb/tornado/issues/2312","id":373990436,"user":{"login":"nadavb","id":845175,"avatar_url":"https://avatars3.githubusercontent.com/u/845175?v=4","gravatar_id":"","url":"https://api.github.com/users/nadavb","html_url":"https://github.com/nadavb","followers_url":"https://api.github.com/users/nadavb/followers","following_url":"https://api.github.com/users/nadavb/following{/other_user}","gists_url":"https://api.github.com/users/nadavb/gists{/gist_id}","starred_url":"https://api.github.com/users/nadavb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nadavb/subscriptions","organizations_url":"https://api.github.com/users/nadavb/orgs","repos_url":"https://api.github.com/users/nadavb/repos","events_url":"https://api.github.com/users/nadavb/events{/privacy}","received_events_url":"https://api.github.com/users/nadavb/received_events","type":"User","site_admin":false},"created_at":"2018-03-18T11:23:53Z","updated_at":"2018-03-18T11:23:53Z","author_association":"NONE","body":"Maybe StackOverflow is a better place than just a mailing list?"}}
{"actor":{"display_login":"nadavb"}}