Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sometimes, it takes really very long time to connect on heroku #171

Closed
small-yellow-rice opened this issue Nov 13, 2015 · 8 comments
Closed
Assignees
Labels
Milestone

Comments

@small-yellow-rice
Copy link

After I deploy example in Flask-SocketIO to heroku(http://flasksocketio2.herokuapp.com/)
https://github.com/miguelgrinberg/Flask-SocketIO/tree/master/example

my Procfile
web: gunicorn --worker-class eventlet app:app

It usually takes sevral tries to connect.

It seems that after several times retrying, It can connect.
But sometimes it will take really very long time.

The output will be like this:
Received #0: Connected
Received #0: Connected
Received #0: Connected
Received #0: Connected
Received #0: Connected
Received #1: I'm connected!
Received #96: Server generated event
Received #97: Server generated event
Received #98: Server generated event
Received #99: Server generated event
Received #100: Server generated event
Received #101: Server generated event
Received #102: Server generated event
Received #103: Server generated event

Also the following errors happen every time.

Should I ignore the error?
The second error is just fine,
but the first error sometimes happened too many times. I have to wait long time to be connect.

error1

Firefox can't establish a connection to the server at ws://flasksocketio2.herokuapp.com/socket.io/?EIO=3&transport=websocket&sid=92cd00f57ded4da9863a9bb2178b5b4d.

error2

The connection to ws://flasksocketio2.herokuapp.com/socket.io/?EIO=3&transport=websocket&sid=e68d81ce5f9c4659aee891fbbb2ccf08 was interrupted while the page was loading.

@miguelgrinberg miguelgrinberg added this to the 1.1 milestone Nov 14, 2015
@miguelgrinberg miguelgrinberg self-assigned this Nov 14, 2015
@miguelgrinberg
Copy link
Owner

I assume you added eventlet to the requirements file you uploaded to Heroku? Please add the server-side log.

@small-yellow-rice
Copy link
Author

Yes, I deployed to heroku again and also put the same source code to github.

New heroku url:

http://flasksocketiofork.herokuapp.com/

New github source code fork

https://github.com/small-yellow-rice/Flask-SocketIO/tree/master/example

server side log

2015-11-18T14:48:38.294288+00:00 heroku[router]: at=error code=H12 desc="Request timeout" method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858079081-120&sid=47fdb2e6454043b8837e5372fa3817f5" host=flasksocketiofork.herokuapp.com request_id=2c65aba4-3a77-4f91-89ca-07cc3d940280 fwd="75.110.42.166" dyno=web.1 connect=3ms service=30001ms status=503 bytes=0
2015-11-18T14:48:39.420622+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=websocket&sid=9e609b41a37b4592bc1c5da6278d9f2f" host=flasksocketiofork.herokuapp.com request_id=71232f15-b9d5-447e-a84f-7c3bcb89a768 fwd="75.110.42.166" dyno=web.1 connect=2ms service=20327ms status=101 bytes=137
2015-11-18T14:48:44.370231+00:00 heroku[router]: at=error code=H12 desc="Request timeout" method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858085177-136&sid=878ea74fa5004337b07fe0c2d1c9b589" host=flasksocketiofork.herokuapp.com request_id=f164b71f-e5f8-4089-bc70-d1dfe5643073 fwd="75.110.42.166" dyno=web.1 connect=1ms service=30001ms status=503 bytes=0
2015-11-18T14:48:48.067244+00:00 app[web.1]: ('Client disconnected', '75d17eb7212e492aa631de7af75ddb19')
2015-11-18T14:48:52.764284+00:00 app[web.1]: ('Client disconnected', 'afdaf0fbee0c4c1ca2627fe76fa6bbdb')
2015-11-18T14:48:52.765002+00:00 app[web.1]: ('Client disconnected', '3ab3df20c5e541d19ab4b444a0e8570d')
2015-11-18T14:48:58.069843+00:00 app[web.1]: ('Client disconnected', 'edbf63a3964f4b3aa0c0676227f86ade')
2015-11-18T14:48:58.070870+00:00 app[web.1]: ('Client disconnected', '448dba39cb2647c995a6abb71dd26a69')
2015-11-18T14:48:58.069267+00:00 app[web.1]: ('Client disconnected', '9e609b41a37b4592bc1c5da6278d9f2f')
2015-11-18T14:48:58.070357+00:00 app[web.1]: ('Client disconnected', '3ddca4afcbda4d23b2969127d218ce08')
2015-11-18T14:53:54.877393+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=websocket&sid=040b98affd374f75bb3f9ee03500c5c5" host=flasksocketiofork.herokuapp.com request_id=9ae88222-d2b0-46cd-ab0d-ffbd29a02c9c fwd="75.110.42.166" dyno=web.1 connect=1ms service=327453ms status=101 bytes=129
2015-11-18T14:53:54.877430+00:00 app[web.1]: ('Client disconnected', '040b98affd374f75bb3f9ee03500c5c5')
2015-11-18T14:53:54.922467+00:00 heroku[router]: at=info method=GET path="/" host=flasksocketiofork.herokuapp.com request_id=7781ee86-e4da-4e5f-b76b-de4742ab1dc4 fwd="75.110.42.166" dyno=web.1 connect=1ms service=3ms status=200 bytes=4220
2015-11-18T14:53:55.834977+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858426392-0" host=flasksocketiofork.herokuapp.com request_id=4b3efe1a-1b71-467b-8cd5-89f4a34fe94c fwd="75.110.42.166" dyno=web.1 connect=2ms service=3ms status=200 bytes=419
2015-11-18T14:53:55.933255+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858426739-1&sid=0ab1a615201341c6b21307f48a721d2d" host=flasksocketiofork.herokuapp.com request_id=3cb87e88-1056-4082-860f-2afdfa00daf4 fwd="75.110.42.166" dyno=web.1 connect=1ms service=2ms status=400 bytes=256
2015-11-18T14:53:56.011313+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=websocket&sid=0ab1a615201341c6b21307f48a721d2d" host=flasksocketiofork.herokuapp.com request_id=4b66d18b-d208-4861-9d16-4c296ed94fb2 fwd="75.110.42.166" dyno=web.1 connect=0ms service=3ms status=400 bytes=298
2015-11-18T14:53:55.964742+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858426745-2&sid=0ab1a615201341c6b21307f48a721d2d" host=flasksocketiofork.herokuapp.com request_id=8e6dfa59-f136-4d36-9c4e-60d23590f312 fwd="75.110.42.166" dyno=web.1 connect=3ms service=2ms status=400 bytes=256
2015-11-18T14:53:56.542294+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858427311-3&sid=0ab1a615201341c6b21307f48a721d2d" host=flasksocketiofork.herokuapp.com request_id=c2fda5ae-e6cb-496c-89ad-d3cddc36f6fa fwd="75.110.42.166" dyno=web.1 connect=1ms service=2ms status=400 bytes=256
2015-11-18T14:53:57.185179+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858427983-6&sid=5893b25494b94cc2b7863c246271f729" host=flasksocketiofork.herokuapp.com request_id=9e644095-c07a-452c-8fab-c0bad24d7326 fwd="75.110.42.166" dyno=web.1 connect=1ms service=2ms status=200 bytes=319
2015-11-18T14:53:57.205084+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=websocket&sid=5893b25494b94cc2b7863c246271f729" host=flasksocketiofork.herokuapp.com request_id=a2af7e17-f86e-4be6-b5be-473dac59f181 fwd="75.110.42.166" dyno=web.1 connect=0ms service=1ms status=400 bytes=298
2015-11-18T14:53:57.117667+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858427880-4" host=flasksocketiofork.herokuapp.com request_id=6ab7dc2a-fb84-4eaf-932d-c95bb7c0b689 fwd="75.110.42.166" dyno=web.1 connect=0ms service=2ms status=200 bytes=419
2015-11-18T14:53:57.161598+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858427978-5&sid=5893b25494b94cc2b7863c246271f729" host=flasksocketiofork.herokuapp.com request_id=b8c67356-90eb-4784-98dd-c68ec180a722 fwd="75.110.42.166" dyno=web.1 connect=0ms service=3ms status=200 bytes=238
2015-11-18T14:53:57.242500+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858428053-7&sid=5893b25494b94cc2b7863c246271f729" host=flasksocketiofork.herokuapp.com request_id=f17ccd8d-bfed-454a-855b-f8ee653672a1 fwd="75.110.42.166" dyno=web.1 connect=1ms service=2ms status=400 bytes=256
2015-11-18T14:53:57.240688+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858428058-8&sid=5893b25494b94cc2b7863c246271f729" host=flasksocketiofork.herokuapp.com request_id=2534018f-2516-4670-9382-d00ccc45fd4b fwd="75.110.42.166" dyno=web.1 connect=1ms service=1ms status=400 bytes=256
2015-11-18T14:53:57.591130+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858428385-9&sid=5893b25494b94cc2b7863c246271f729" host=flasksocketiofork.herokuapp.com request_id=6fd06ba5-ee89-4932-9cbe-9ef68e6ef0ec fwd="75.110.42.166" dyno=web.1 connect=0ms service=2ms status=400 bytes=256
2015-11-18T14:53:58.932732+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858429676-12&sid=2e35ceedbab047cfb5c0163386d5d820" host=flasksocketiofork.herokuapp.com request_id=8d7b8def-2252-4eff-9f74-edb7e51e6bb6 fwd="75.110.42.166" dyno=web.1 connect=0ms service=51ms status=200 bytes=254
2015-11-18T14:53:58.800549+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858429581-10" host=flasksocketiofork.herokuapp.com request_id=282e550b-f706-4663-bd9c-079455f17f99 fwd="75.110.42.166" dyno=web.1 connect=0ms service=2ms status=200 bytes=419
2015-11-18T14:53:58.867348+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858429666-11&sid=2e35ceedbab047cfb5c0163386d5d820" host=flasksocketiofork.herokuapp.com request_id=5a1341a5-662d-4a70-b436-7b5cff4479d2 fwd="75.110.42.166" dyno=web.1 connect=0ms service=3ms status=400 bytes=256
2015-11-18T14:53:59.174602+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=websocket&sid=2e35ceedbab047cfb5c0163386d5d820" host=flasksocketiofork.herokuapp.com request_id=47a0912e-d5d1-4fc4-82b9-da8ce5f6b082 fwd="75.110.42.166" dyno=web.1 connect=0ms service=269ms status=101 bytes=129
2015-11-18T14:53:59.170461+00:00 app[web.1]: [2015-11-18 14:53:59 +0000] [10] [ERROR] Socket error processing request.
*2015-11-18T14:53:59.170465+00:00 app[web.1]: Traceback (most recent call last):
2015-11-18T14:53:59.170467+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/workers/async.py", line 64, in handle
2015-11-18T14:53:59.170468+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/workers/async.py", line 52, in handle
2015-11-18T14:53:59.170467+00:00 app[web.1]: six.reraise(exc_info[0], exc_info[1], exc_info[2])
2015-11-18T14:53:59.170470+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/workers/async.py", line 127, in handle_request
2015-11-18T14:53:59.170469+00:00 app[web.1]: self.handle_request(listener_name, req, client, addr)
2015-11-18T14:53:59.170470+00:00 app[web.1]: six.reraise(sys.exc_info())
2015-11-18T14:53:59.170471+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/workers/async.py", line 113, in handle_request
2015-11-18T14:53:59.170472+00:00 app[web.1]: resp.write(item)
2015-11-18T14:53:59.170473+00:00 app[web.1]: self.send_headers()
2015-11-18T14:53:59.170475+00:00 app[web.1]: util.write(self.sock, util.to_bytestring(header_str))
2015-11-18T14:53:59.170473+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/http/wsgi.py", line 324, in write
2015-11-18T14:53:59.170474+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/http/wsgi.py", line 320, in send_headers
2015-11-18T14:53:59.170477+00:00 app[web.1]: sock.sendall(data)
2015-11-18T14:53:59.170477+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/eventlet/greenio/base.py", line 376, in sendall
2015-11-18T14:53:59.170478+00:00 app[web.1]: tail = self.send(data, flags)
2015-11-18T14:53:59.170476+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/util.py", line 300, in write
2015-11-18T14:53:59.170496+00:00 app[web.1]: error: [Errno 9] Bad file descriptor
2015-11-18T14:53:59.170480+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/socket.py", line 174, in _dummy
2015-11-18T14:53:59.170479+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/eventlet/greenio/base.py", line 359, in send
2015-11-18T14:53:59.170479+00:00 app[web.1]: total_sent += fd.send(data[total_sent:], flags)
2015-11-18T14:53:59.170495+00:00 app[web.1]: raise error(EBADF, 'Bad file descriptor')

2015-11-18T14:54:00.151892+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858430948-15&sid=9449b01d51d4412ebfb6dbb889c9f828" host=flasksocketiofork.herokuapp.com request_id=2675ce3d-fb7f-4daf-9aa2-6782699f3b18 fwd="75.110.42.166" dyno=web.1 connect=0ms service=1ms status=400 bytes=256
2015-11-18T14:54:00.170520+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=websocket&sid=9449b01d51d4412ebfb6dbb889c9f828" host=flasksocketiofork.herokuapp.com request_id=1934d030-ea7c-43ce-a1cb-b6e75aa783e9 fwd="75.110.42.166" dyno=web.1 connect=0ms service=15ms status=400 bytes=298
2015-11-18T14:54:00.079878+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858430905-13" host=flasksocketiofork.herokuapp.com request_id=8e0e3e56-aacf-4df5-b781-00d8a33cc3e5 fwd="75.110.42.166" dyno=web.1 connect=1ms service=2ms status=200 bytes=419
2015-11-18T14:54:00.544387+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858431344-16&sid=9449b01d51d4412ebfb6dbb889c9f828" host=flasksocketiofork.herokuapp.com request_id=71fb168e-bca6-4772-871b-0d634bce9247 fwd="75.110.42.166" dyno=web.1 connect=1ms service=2ms status=400 bytes=256
2015-11-18T14:54:00.119223+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858430943-14&sid=9449b01d51d4412ebfb6dbb889c9f828" host=flasksocketiofork.herokuapp.com request_id=318131b1-eca1-4ff3-8c65-a3ebafc62da5 fwd="75.110.42.166" dyno=web.1 connect=0ms service=2ms status=400 bytes=256
2015-11-18T14:54:01.726157+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858432544-17" host=flasksocketiofork.herokuapp.com request_id=cc8e736f-8a45-4758-a6ae-554a4d0772f5 fwd="75.110.42.166" dyno=web.1 connect=0ms service=2ms status=200 bytes=419
2015-11-18T14:54:01.782630+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858432597-18&sid=1bac1212af534178aa6642864d841f12" host=flasksocketiofork.herokuapp.com request_id=7a54a267-b543-4e9a-b8b3-b662d71772d6 fwd="75.110.42.166" dyno=web.1 connect=1ms service=5ms status=200 bytes=238
2015-11-18T14:54:01.809902+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858432606-19&sid=1bac1212af534178aa6642864d841f12" host=flasksocketiofork.herokuapp.com request_id=bd66a791-e98b-4310-99f3-4d12bc3e8f73 fwd="75.110.42.166" dyno=web.1 connect=1ms service=9ms status=400 bytes=256
2015-11-18T14:54:01.820826+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=websocket&sid=1bac1212af534178aa6642864d841f12" host=flasksocketiofork.herokuapp.com request_id=4a803c70-41c9-43c5-aee3-c9c2bab4e5ac fwd="75.110.42.166" dyno=web.1 connect=0ms service=4ms status=400 bytes=298
2015-11-18T14:54:02.207298+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858433027-20&sid=1bac1212af534178aa6642864d841f12" host=flasksocketiofork.herokuapp.com request_id=864a1852-248f-4f76-b3d6-6cb964ccdf5f fwd="75.110.42.166" dyno=web.1 connect=0ms service=2ms status=400 bytes=256
2015-11-18T14:54:03.035926+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=websocket&sid=d5a682dce39c486087e9a6168071cdda" host=flasksocketiofork.herokuapp.com request_id=1ab7c707-51d1-4f14-b39c-2650f62545ac fwd="75.110.42.166" dyno=web.1 connect=0ms service=1ms status=400 bytes=298
2015-11-18T14:54:03.035313+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858433813-23&sid=d5a682dce39c486087e9a6168071cdda" host=flasksocketiofork.herokuapp.com request_id=d2c4a34e-549b-44b0-9c8b-bd4d1879bbc1 fwd="75.110.42.166" dyno=web.1 connect=0ms service=2ms status=200 bytes=319
2015-11-18T14:54:03.008981+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858433805-22&sid=d5a682dce39c486087e9a6168071cdda" host=flasksocketiofork.herokuapp.com request_id=76ed1e93-70b5-41ed-97b0-49c4dccc60da fwd="75.110.42.166" dyno=web.1 connect=1ms service=3ms status=200 bytes=238
2015-11-18T14:54:03.088998+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858433905-25&sid=d5a682dce39c486087e9a6168071cdda" host=flasksocketiofork.herokuapp.com request_id=8156c368-aedd-4f80-a8ae-8c7ec512db6d fwd="75.110.42.166" dyno=web.1 connect=2ms service=2ms status=400 bytes=256
2015-11-18T14:54:03.087109+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858433900-24&sid=d5a682dce39c486087e9a6168071cdda" host=flasksocketiofork.herokuapp.com request_id=0ad95fcf-a90e-4d4d-95e4-c3d7d4420aef fwd="75.110.42.166" dyno=web.1 connect=0ms service=3ms status=200 bytes=238
2015-11-18T14:54:02.938283+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858433704-21" host=flasksocketiofork.herokuapp.com request_id=75957ef8-d949-4743-b624-ecc8bb4346b4 fwd="75.110.42.166" dyno=web.1 connect=0ms service=2ms status=200 bytes=419
2015-11-18T14:54:03.417091+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858434234-26&sid=d5a682dce39c486087e9a6168071cdda" host=flasksocketiofork.herokuapp.com request_id=1e510c52-5ae5-4d9b-a7c3-77c69a1c2887 fwd="75.110.42.166" dyno=web.1 connect=2ms service=4ms status=400 bytes=256
2015-11-18T14:54:04.814012+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858435611-27" host=flasksocketiofork.herokuapp.com request_id=822c82ae-f495-438f-a482-3e1d5cb1675e fwd="75.110.42.166" dyno=web.1 connect=0ms service=3ms status=200 bytes=419
2015-11-18T14:54:04.897495+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858435690-28&sid=4415d968068947ecb461d843601f3237" host=flasksocketiofork.herokuapp.com request_id=2f7a9d9c-9db6-470f-8aee-6d10d997e111 fwd="75.110.42.166" dyno=web.1 connect=0ms service=2ms status=200 bytes=238
2015-11-18T14:54:04.921956+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858435697-29&sid=4415d968068947ecb461d843601f3237" host=flasksocketiofork.herokuapp.com request_id=fea66116-673b-4be8-a715-811b64404d46 fwd="75.110.42.166" dyno=web.1 connect=0ms service=2ms status=200 bytes=319
2015-11-18T14:54:04.989190+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858435798-31&sid=4415d968068947ecb461d843601f3237" host=flasksocketiofork.herokuapp.com request_id=3a945e52-7d20-430a-b3cd-1cd1e1ba28c8 fwd="75.110.42.166" dyno=web.1 connect=0ms service=14ms status=200 bytes=314
2015-11-18T14:54:05.003091+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858435794-30&sid=4415d968068947ecb461d843601f3237" host=flasksocketiofork.herokuapp.com request_id=c853b9a8-6f88-4072-98fa-e088edc91665 fwd="75.110.42.166" dyno=web.1 connect=6ms service=12ms status=200 bytes=238
2015-11-18T14:54:05.046301+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858435861-32&sid=4415d968068947ecb461d843601f3237" host=flasksocketiofork.herokuapp.com request_id=db772ab4-8fb6-4d9e-8d54-820c6141022f fwd="75.110.42.166" dyno=web.1 connect=0ms service=2ms status=200 bytes=254
2015-11-18T14:54:32.832381+00:00 app[web.1]: ('Client disconnected', '5893b25494b94cc2b7863c246271f729')
2015-11-18T14:54:38.135868+00:00 app[web.1]: ('Client disconnected', 'd5a682dce39c486087e9a6168071cdda')
2015-11-18T14:54:38.131837+00:00 app[web.1]: ('Client disconnected', '1bac1212af534178aa6642864d841f12')
*2015-11-18T14:54:53.035523+00:00 app[web.1]: [2015-11-18 14:54:53 +0000] [10] [ERROR] Socket error processing request.
2015-11-18T14:54:53.035528+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/workers/async.py", line 64, in handle
2015-11-18T14:54:53.035527+00:00 app[web.1]: Traceback (most recent call last):
2015-11-18T14:54:53.035529+00:00 app[web.1]: six.reraise(exc_info[0], exc_info[1], exc_info[2])
2015-11-18T14:54:53.035530+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/workers/async.py", line 52, in handle
2015-11-18T14:54:53.035531+00:00 app[web.1]: self.handle_request(listener_name, req, client, addr)
2015-11-18T14:54:53.035532+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/workers/async.py", line 127, in handle_request
2015-11-18T14:54:53.035532+00:00 app[web.1]: six.reraise(sys.exc_info())
2015-11-18T14:54:53.035533+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/workers/async.py", line 113, in handle_request
2015-11-18T14:54:53.035534+00:00 app[web.1]: resp.write(item)
2015-11-18T14:54:53.035535+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/http/wsgi.py", line 324, in write
2015-11-18T14:54:53.035535+00:00 app[web.1]: self.send_headers()
2015-11-18T14:54:53.035536+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/http/wsgi.py", line 320, in send_headers
2015-11-18T14:54:53.035537+00:00 app[web.1]: util.write(self.sock, util.to_bytestring(header_str))
2015-11-18T14:54:53.035538+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/util.py", line 300, in write
2015-11-18T14:54:53.035539+00:00 app[web.1]: sock.sendall(data)
2015-11-18T14:54:53.035539+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/eventlet/greenio/base.py", line 376, in sendall
2015-11-18T14:54:53.035540+00:00 app[web.1]: tail = self.send(data, flags)
2015-11-18T14:54:53.035541+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/eventlet/greenio/base.py", line 359, in send
2015-11-18T14:54:53.035541+00:00 app[web.1]: total_sent += fd.send(data[total_sent:], flags)
2015-11-18T14:54:53.035542+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/socket.py", line 174, in _dummy
2015-11-18T14:54:53.035543+00:00 app[web.1]: raise error(EBADF, 'Bad file descriptor')
2015-11-18T14:54:53.035543+00:00 app[web.1]: error: [Errno 9] Bad file descriptor

2015-11-18T14:59:42.161535+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=websocket&sid=4415d968068947ecb461d843601f3237" host=flasksocketiofork.herokuapp.com request_id=64d517df-7385-46fb-a1a0-edd92d44cefe fwd="75.110.42.166" dyno=web.1 connect=0ms service=337189ms status=101 bytes=129
2015-11-18T14:59:42.162834+00:00 app[web.1]: ('Client disconnected', '4415d968068947ecb461d843601f3237')
2015-11-18T14:59:42.293238+00:00 heroku[router]: at=info method=GET path="/" host=flasksocketiofork.herokuapp.com request_id=13e460d5-2d88-40b1-9546-d9c63bb1d93a fwd="75.110.42.166" dyno=web.1 connect=1ms service=3ms status=200 bytes=4220
2015-11-18T14:59:43.186820+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858773971-2&sid=e27bedf1208140a1b9ce1d7c8d32491b" host=flasksocketiofork.herokuapp.com request_id=276a8860-771a-4152-9cfc-f534a98d4d60 fwd="75.110.42.166" dyno=web.1 connect=0ms service=1ms status=200 bytes=319
2015-11-18T14:59:43.239091+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858774046-4&sid=e27bedf1208140a1b9ce1d7c8d32491b" host=flasksocketiofork.herokuapp.com request_id=d3acf0d7-d710-435b-962d-e1bacf319edf fwd="75.110.42.166" dyno=web.1 connect=0ms service=2ms status=400 bytes=256
2015-11-18T14:59:43.056266+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858773567-0" host=flasksocketiofork.herokuapp.com request_id=155ecfda-d5f8-4f97-9ac1-2bfad32d9796 fwd="75.110.42.166" dyno=web.1 connect=2ms service=3ms status=200 bytes=419
2015-11-18T14:59:43.166997+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858773918-1&sid=e27bedf1208140a1b9ce1d7c8d32491b" host=flasksocketiofork.herokuapp.com request_id=314d3311-af2b-4fa6-ae3a-130af5101d9a fwd="75.110.42.166" dyno=web.1 connect=1ms service=4ms status=200 bytes=238
2015-11-18T14:59:43.237723+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858774041-3&sid=e27bedf1208140a1b9ce1d7c8d32491b" host=flasksocketiofork.herokuapp.com request_id=e67b2319-a8ab-45f4-8496-0c9da02bf3c6 fwd="75.110.42.166" dyno=web.1 connect=1ms service=4ms status=200 bytes=238
2015-11-18T14:59:47.541573+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858778335-6&sid=cc129c1affd74060881c544f042adfa3" host=flasksocketiofork.herokuapp.com request_id=a88af294-5ed9-4701-9c4e-e02265b6247b fwd="75.110.42.166" dyno=web.1 connect=1ms service=4ms status=200 bytes=238
2015-11-18T14:59:47.481934+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858778280-5" host=flasksocketiofork.herokuapp.com request_id=7b763651-dba3-430b-8220-7535bce92808 fwd="75.110.42.166" dyno=web.1 connect=1ms service=3ms status=200 bytes=419
2015-11-18T14:59:47.635843+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858778436-9&sid=cc129c1affd74060881c544f042adfa3" host=flasksocketiofork.herokuapp.com request_id=b3969cd0-ede8-4d8f-81ec-63bb5c746b37 fwd="75.110.42.166" dyno=web.1 connect=1ms service=3ms status=400 bytes=256
2015-11-18T14:59:47.637307+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858778431-8&sid=cc129c1affd74060881c544f042adfa3" host=flasksocketiofork.herokuapp.com request_id=a9c0a73c-edae-44a1-80de-acf8ea848716 fwd="75.110.42.166" dyno=web.1 connect=4ms service=6ms status=200 bytes=238
2015-11-18T14:59:47.603978+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=websocket&sid=cc129c1affd74060881c544f042adfa3" host=flasksocketiofork.herokuapp.com request_id=b4f7a2bb-e61b-4707-b502-9e384bbe7560 fwd="75.110.42.166" dyno=web.1 connect=2ms service=4ms status=400 bytes=298
2015-11-18T14:59:47.580814+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858778343-7&sid=cc129c1affd74060881c544f042adfa3" host=flasksocketiofork.herokuapp.com request_id=da23456a-9c06-46f2-afab-2ace1a080952 fwd="75.110.42.166" dyno=web.1 connect=2ms service=4ms status=200 bytes=319
2015-11-18T14:59:48.738653+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858779522-10&sid=cc129c1affd74060881c544f042adfa3" host=flasksocketiofork.herokuapp.com request_id=f82f5162-5038-497e-a4e0-f03fa07197f0 fwd="75.110.42.166" dyno=web.1 connect=1ms service=4ms status=400 bytes=256
2015-11-18T14:59:50.384190+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=websocket&sid=68eb4b2fd87d40bdb7d2962039ab5a01" host=flasksocketiofork.herokuapp.com request_id=670ae1e3-413f-4814-b50d-ee9b64915814 fwd="75.110.42.166" dyno=web.1 connect=1ms service=2ms status=400 bytes=298
2015-11-18T14:59:50.352239+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858781116-13&sid=68eb4b2fd87d40bdb7d2962039ab5a01" host=flasksocketiofork.herokuapp.com request_id=e2c6fb08-a824-493c-8df3-893d86607991 fwd="75.110.42.166" dyno=web.1 connect=1ms service=2ms status=400 bytes=256
2015-11-18T14:59:50.247228+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858781021-11" host=flasksocketiofork.herokuapp.com request_id=e05d6811-e676-4583-aab4-76be0d4575ef fwd="75.110.42.166" dyno=web.1 connect=1ms service=3ms status=200 bytes=419
2015-11-18T14:59:50.694919+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858781493-14&sid=68eb4b2fd87d40bdb7d2962039ab5a01" host=flasksocketiofork.herokuapp.com request_id=77ec985a-ddb9-4b3c-b223-d301fff93e9a fwd="75.110.42.166" dyno=web.1 connect=1ms service=3ms status=400 bytes=256
2015-11-18T14:59:50.324678+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858781104-12&sid=68eb4b2fd87d40bdb7d2962039ab5a01" host=flasksocketiofork.herokuapp.com request_id=fe0c451e-eb84-43e8-a524-9ae3f4950ca9 fwd="75.110.42.166" dyno=web.1 connect=1ms service=4ms status=200 bytes=238
2015-11-18T14:59:51.906464+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858782665-15" host=flasksocketiofork.herokuapp.com request_id=fa290027-10ed-4ef9-9bda-89d961a7ccfd fwd="75.110.42.166" dyno=web.1 connect=1ms service=3ms status=200 bytes=419
2015-11-18T14:59:51.972320+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858782763-16&sid=e39ee414c3a44931b8c27d2e937df2ad" host=flasksocketiofork.herokuapp.com request_id=81ba0c3e-1d0a-4976-871a-6f604332c881 fwd="75.110.42.166" dyno=web.1 connect=2ms service=4ms status=200 bytes=238
2015-11-18T14:59:52.068815+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858782774-17&sid=e39ee414c3a44931b8c27d2e937df2ad" host=flasksocketiofork.herokuapp.com request_id=8bfa4066-e05a-4403-9af1-b4613f01f459 fwd="75.110.42.166" dyno=web.1 connect=1ms service=3ms status=400 bytes=256
2015-11-18T14:59:53.494498+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858784280-19&sid=819d3f2ecc3f4daaab81a2965e8d6caa" host=flasksocketiofork.herokuapp.com request_id=7a35cb6b-bf1e-4db7-9400-f38c5585a74b fwd="75.110.42.166" dyno=web.1 connect=1ms service=4ms status=200 bytes=238
2015-11-18T14:59:53.415103+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858784200-18" host=flasksocketiofork.herokuapp.com request_id=807a0f3d-6f45-4012-8c4c-4a90defd84cc fwd="75.110.42.166" dyno=web.1 connect=1ms service=3ms status=200 bytes=419
2015-11-18T14:59:53.529202+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=websocket&sid=819d3f2ecc3f4daaab81a2965e8d6caa" host=flasksocketiofork.herokuapp.com request_id=592e6279-0258-4db7-a1ec-aabf86438c15 fwd="75.110.42.166" dyno=web.1 connect=1ms service=2ms status=400 bytes=298
2015-11-18T14:59:53.520915+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858784291-20&sid=819d3f2ecc3f4daaab81a2965e8d6caa" host=flasksocketiofork.herokuapp.com request_id=b7a0e4e1-5e2c-4792-a55d-61a39951359b fwd="75.110.42.166" dyno=web.1 connect=1ms service=2ms status=200 bytes=319
2015-11-18T14:59:53.578186+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858784375-22&sid=819d3f2ecc3f4daaab81a2965e8d6caa" host=flasksocketiofork.herokuapp.com request_id=26eb2460-b856-4c1d-9296-5b82c82d517b fwd="75.110.42.166" dyno=web.1 connect=2ms service=2ms status=400 bytes=256
2015-11-18T14:59:53.578405+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858784370-21&sid=819d3f2ecc3f4daaab81a2965e8d6caa" host=flasksocketiofork.herokuapp.com request_id=8a466820-d32d-4773-a9b2-f539ee215291 fwd="75.110.42.166" dyno=web.1 connect=1ms service=4ms status=200 bytes=238
2015-11-18T14:59:53.939157+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858784736-23&sid=819d3f2ecc3f4daaab81a2965e8d6caa" host=flasksocketiofork.herokuapp.com request_id=e49f0f8f-f80b-4ca9-b965-5e0edf175a88 fwd="75.110.42.166" dyno=web.1 connect=1ms service=4ms status=400 bytes=256
2015-11-18T14:59:55.214037+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858785993-26&sid=79d7dceaa8c14478945c5f26b6eb4080" host=flasksocketiofork.herokuapp.com request_id=6e22f57d-5fcc-482d-b31e-726b2b9f0d20 fwd="75.110.42.166" dyno=web.1 connect=1ms service=3ms status=400 bytes=256
2015-11-18T14:59:55.132894+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858785897-24" host=flasksocketiofork.herokuapp.com request_id=997ab50d-7318-48e9-b97f-7b8e8a49e868 fwd="75.110.42.166" dyno=web.1 connect=1ms service=3ms status=200 bytes=419
2015-11-18T14:59:55.185956+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858785987-25&sid=79d7dceaa8c14478945c5f26b6eb4080" host=flasksocketiofork.herokuapp.com request_id=37970dcd-3f67-4409-bff5-f956a537e4fb fwd="75.110.42.166" dyno=web.1 connect=2ms service=3ms status=400 bytes=256
2015-11-18T14:59:56.920930+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858787686-27" host=flasksocketiofork.herokuapp.com request_id=52b394a9-3ffd-4296-8835-e50d4f797e09 fwd="75.110.42.166" dyno=web.1 connect=3ms service=3ms status=200 bytes=419
2015-11-18T14:59:57.069691+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=websocket&sid=889d53a66cca4e41afca41b05386041d" host=flasksocketiofork.herokuapp.com request_id=fecede1d-63ef-4300-9dda-663c33a37605 fwd="75.110.42.166" dyno=web.1 connect=2ms service=4ms status=400 bytes=298
2015-11-18T14:59:57.086574+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858787883-30&sid=889d53a66cca4e41afca41b05386041d" host=flasksocketiofork.herokuapp.com request_id=1cd123c6-8c17-48d9-be0b-07496d3dac97 fwd="75.110.42.166" dyno=web.1 connect=1ms service=3ms status=400 bytes=256
2015-11-18T14:59:56.989830+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858787787-28&sid=889d53a66cca4e41afca41b05386041d" host=flasksocketiofork.herokuapp.com request_id=cfe8dda2-9fb7-45c7-9642-d61ac29d6fb1 fwd="75.110.42.166" dyno=web.1 connect=1ms service=4ms status=200 bytes=238
2015-11-18T14:59:57.445549+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858788216-32&sid=889d53a66cca4e41afca41b05386041d" host=flasksocketiofork.herokuapp.com request_id=e2848c3c-5d03-4eda-9919-ef6e6d65a1d8 fwd="75.110.42.166" dyno=web.1 connect=2ms service=4ms status=400 bytes=256
2015-11-18T14:59:58.903419+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858789682-34&sid=dc225afff46d4bdc86165f45c67ef0b1" host=flasksocketiofork.herokuapp.com request_id=94d9fe9e-441e-4ea4-8d6e-c750211c7e47 fwd="75.110.42.166" dyno=web.1 connect=2ms service=8ms status=200 bytes=238
2015-11-18T14:59:58.826440+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858789577-33" host=flasksocketiofork.herokuapp.com request_id=790799b8-5736-470c-b84a-bc8707d6aed0 fwd="75.110.42.166" dyno=web.1 connect=1ms service=3ms status=200 bytes=419
2015-11-18T14:59:58.964321+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858789770-36&sid=dc225afff46d4bdc86165f45c67ef0b1" host=flasksocketiofork.herokuapp.com request_id=d6ed95e5-e5df-4252-9e2e-5a87dff17336 fwd="75.110.42.166" dyno=web.1 connect=1ms service=4ms status=200 bytes=238
2015-11-18T14:59:58.946051+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858789690-35&sid=dc225afff46d4bdc86165f45c67ef0b1" host=flasksocketiofork.herokuapp.com request_id=6a3eb8ce-38bf-4f95-a60c-7978d8961c27 fwd="75.110.42.166" dyno=web.1 connect=1ms service=3ms status=200 bytes=319
2015-11-18T14:59:59.018568+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858789817-38&sid=dc225afff46d4bdc86165f45c67ef0b1" host=flasksocketiofork.herokuapp.com request_id=79de8f54-88d6-4ab7-b5d3-3f81c62ad09d fwd="75.110.42.166" dyno=web.1 connect=1ms service=3ms status=400 bytes=256
2015-11-18T14:59:58.991810+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858789773-37&sid=dc225afff46d4bdc86165f45c67ef0b1" host=flasksocketiofork.herokuapp.com request_id=85ded665-e0c2-41b1-b795-394c243fd838 fwd="75.110.42.166" dyno=web.1 connect=2ms service=3ms status=200 bytes=314
2015-11-18T14:59:59.996867+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858790747-39" host=flasksocketiofork.herokuapp.com request_id=3d6e54d5-69d8-4384-a26e-e6b691e90d3d fwd="75.110.42.166" dyno=web.1 connect=1ms service=3ms status=200 bytes=419
2015-11-18T15:00:00.148048+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858790925-42&sid=a513a7ebbb194497b39fc77e75dc994d" host=flasksocketiofork.herokuapp.com request_id=52061be6-9441-4fea-a842-6534aa44790c fwd="75.110.42.166" dyno=web.1 connect=2ms service=4ms status=200 bytes=238
2015-11-18T15:00:00.217337+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858790980-44&sid=a513a7ebbb194497b39fc77e75dc994d" host=flasksocketiofork.herokuapp.com request_id=07df0db6-3ab2-43fc-a438-6ed0b441ab1b fwd="75.110.42.166" dyno=web.1 connect=4ms service=2ms status=200 bytes=254
2015-11-18T15:00:00.091404+00:00 heroku[router]: at=info method=POST path="/socket.io/?EIO=3&transport=polling&t=1447858790825-40&sid=a513a7ebbb194497b39fc77e75dc994d" host=flasksocketiofork.herokuapp.com request_id=49ef7cb7-c787-4217-adcf-e133bb3a366c fwd="75.110.42.166" dyno=web.1 connect=3ms service=6ms status=200 bytes=238
2015-11-18T15:00:00.127884+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858790929-43&sid=a513a7ebbb194497b39fc77e75dc994d" host=flasksocketiofork.herokuapp.com request_id=4b3f1c98-8e0b-46d4-8f30-46884eb4ddaa fwd="75.110.42.166" dyno=web.1 connect=1ms service=2ms status=200 bytes=314
2015-11-18T15:00:00.069790+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858790833-41&sid=a513a7ebbb194497b39fc77e75dc994d" host=flasksocketiofork.herokuapp.com request_id=2acff5e0-33ef-454c-bc35-6ed5e12ee4b6 fwd="75.110.42.166" dyno=web.1 connect=2ms service=2ms status=200 bytes=319
2015-11-18T14:59:57.034268+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858787796-29&sid=889d53a66cca4e41afca41b05386041d" host=flasksocketiofork.herokuapp.com request_id=a9a405ff-8981-4f3e-8556-d709fc2014c8 fwd="75.110.42.166" dyno=web.1 connect=1ms service=2ms status=200 bytes=319
2015-11-18T14:59:57.087897+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=polling&t=1447858787888-31&sid=889d53a66cca4e41afca41b05386041d" host=flasksocketiofork.herokuapp.com request_id=dec1cedf-3e1b-42c1-be3b-334df4452266 fwd="75.110.42.166" dyno=web.1 connect=1ms service=3ms status=400 bytes=256
2015-11-18T15:00:06.768989+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=websocket&sid=e27bedf1208140a1b9ce1d7c8d32491b" host=flasksocketiofork.herokuapp.com request_id=582b7129-6ace-4e65-b673-49d229f8954d fwd="75.110.42.166" dyno=web.1 connect=2ms service=23548ms status=101 bytes=137
2015-11-18T15:00:12.830321+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=websocket&sid=e39ee414c3a44931b8c27d2e937df2ad" host=flasksocketiofork.herokuapp.com request_id=4e50a7f7-72de-4c99-9427-84c0908cf56c fwd="75.110.42.166" dyno=web.1 connect=1ms service=20760ms status=101 bytes=137
2015-11-18T15:00:15.459754+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=websocket&sid=79d7dceaa8c14478945c5f26b6eb4080" host=flasksocketiofork.herokuapp.com request_id=a1eb3f87-740c-4e3f-96a1-dc429116eae4 fwd="75.110.42.166" dyno=web.1 connect=1ms service=20244ms status=101 bytes=137
2015-11-18T15:00:18.162240+00:00 app[web.1]: ('Client disconnected', 'e27bedf1208140a1b9ce1d7c8d32491b')
2015-11-18T15:00:19.345438+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=websocket&sid=dc225afff46d4bdc86165f45c67ef0b1" host=flasksocketiofork.herokuapp.com request_id=bbd706f3-3f03-42d1-966e-1f97594031a6 fwd="75.110.42.166" dyno=web.1 connect=1ms service=20416ms status=101 bytes=137

New app output:

Received #0: Connected
Received #0: Connected
Received #0: Connected
Received #0: Connected
Received #0: Connected
Received #1: I'm connected!
Received #0: Connected
Received #1: I'm connected!
Received #81: Server generated event
Received #82: Server generated event
Received #83: Server generated event
Received #84: Server generated event
Received #85: Server generated event
Received #86: Server generated event
Received #87: Server generated event
Received #88: Server generated event
Received #89: Server generated event
Received #90: Server generated event
Received #91: Server generated event

The following is my deployment log from heroku:

remote: Successfully installed Flask-0.10.1 Flask-SocketIO-1.0 Jinja2-2.7.3 MarkupSafe-0.23 W
erkzeug-0.10.4 eventlet-0.17.4 greenlet-0.4.9 gunicorn-19.3.0 itsdangerous-0.24 python-engineio-0.7.
0 python-socketio-0.6.0 six-1.9.0

@miguelgrinberg
Copy link
Owner

Thanks. I can reproduce the problem here too. I'm investigating.

@miguelgrinberg
Copy link
Owner

Can I ask you to perform a simple test? Please change the gunicorn release from 19.3 to 18.0. Let me know if that makes it work for you.

With that change I'm getting the example to run on Heroku. The odd thing is that gunicorn 19.3 works fine locally.

@small-yellow-rice
Copy link
Author

Work like amazing after switching gunicorn to 18.0!!
Thank you!
Should I close this question? Or I should create pull request to memo the version stuff on somewhere?

@miguelgrinberg
Copy link
Owner

Awesome!

Leave it open for now, I need to figure out if this is a gunicorn problem or something I can address on my side.

@small-yellow-rice
Copy link
Author

OK. Flask-SocketIO have everything I need for my personal website.
I search whole internet, can't find anything like this.
You are awesome!

@miguelgrinberg
Copy link
Owner

Filed a bug with Gunicorn.
Also added a recommendation for release 18.0 in the gunicorn section of the documentation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants