Я использую модуль index.py в качестве приложения для колб через gunicorn, eventlet и nginx.
Код работает нормально, но я не могу запустить его в течение необходимого времени.
Этот код работает нормально, но через некоторое время он просто останавливается с сообщением:
[2018-07-04 13:06:11 +0000] [3469] [КРИТИЧЕСКИЙ] РАБОЧИЙ ВРЕМЯ
(pid: 3475) Ошибка обработчика сообщений Traceback (последний последний вызов):
Файл "/usr/local/lib/python2.7/dist-packages/engineio/server.py", строка
411, в _trigger_event
вернуть файл self.handlersevent "/usr/local/lib/python2.7/dist-packages/socketio/server.py", строка 522,
в _handle_eio_message
self._handle_event (sid, pkt.namespace, pkt.id, pkt.data) Файл "/usr/local/lib/python2.7/dist-packages/socketio/server.py", строка 458,
в _handle_event
self._handle_event_internal (self, sid, data, namespace, id) Файл "/usr/local/lib/python2.7/dist-packages/socketio/server.py", строка 461,
в _handle_event_internal
r = server._trigger_event (data [0], пространство имен, sid, * data [1:]) Файл "/usr/local/lib/python2.7/dist-packages/socketio/server.py", строка
490, в _trigger_event
вернуть файл события self.handlers [namespace] "/usr/local/lib/python2.7/dist-packages/flask_socketio/init.py",
строка 251, в _handler
* args) Файл "/usr/local/lib/python2.7/dist-packages/flask_socketio/init.py",
строка 634, в _handle_event
ret = handler (* args) Файл "/home/aviral/dev/bubble-api/index.py", строка 80, в entity_tweets
файл печати (post) "/usr/local/lib/python2.7/dist-packages/gunicorn/workers/base.py",
строка 196, в handle_abort
sys.exit (1) SystemExit: 1 [2018-07-04 13:06:42 +0000] [3475] [INFO] Рабочий выходит (pid: 3475) [2018-07-04 13:06:42 +0000] [3487]
[INFO] Загрузка рабочего с pid: 3487 [2018-07-04 13:07:55 +0000]
[3487] [ОШИБКА] Запрос обработки ошибки сокета. Traceback (самый последний
последний звонок): File
"/Usr/local/lib/python2.7/dist-packages/gunicorn/workers/async.py",
линия 66, в ручке
Файл six.reraise (* sys.exc_info ()) "/usr/local/lib/python2.7/dist-packages/gunicorn/workers/async.py",
линия 56, в ручке
Файл self.handle_request (listener_name, req, client, addr) "/usr/local/lib/python2.7/dist-packages/gunicorn/workers/async.py",
строка 129, в handle_request
Файл six.reraise (* sys.exc_info ()) "/usr/local/lib/python2.7/dist-packages/gunicorn/workers/async.py",
строка 107, в handle_request
respiter = self.wsgi (environment, resp.start_response) Файл "/usr/local/lib/python2.7/dist-packages/flask/app.py", строка 2309, в
звонок
вернуть файл self.wsgi_app (environment, start_response) "/usr/local/lib/python2.7/dist-packages/flask_socketio/init.py",
линия 43, вызов
start_response) Файл "/usr/local/lib/python2.7/dist-packages/engineio/middleware.py", строка
47, в звоните
вернуть файл self.engineio_app.handle_request (environment, start_response) Файл "/usr/local/lib/python2.7/dist-packages/socketio/server.py", строка
360, в handle_request
вернуть файл self.eio.handle_request (environment, start_response) "/usr/local/lib/python2.7/dist-packages/engineio/server.py", строка 275,
в handle_request
environment, start_response) Файл "/usr/local/lib/python2.7/dist-packages/engineio/socket.py", строка 91,
в handle_get_request
start_response) Файл "/usr/local/lib/python2.7/dist-packages/engineio/socket.py", строка 133,
в _upgrade_websocket
вернуть файл ws (environment, start_response) "/usr/local/lib/python2.7/dist-packages/engineio/async_eventlet.py",
линия 19, вызов
возврат супер (WebSocketWSGI, self). вызов (environment, start_response) Файл
"/usr/local/lib/python2.7/dist-packages/eventlet/websocket.py", строка
129, в звоните Файл self.handler (ws) "/usr/local/lib/python2.7/dist-packages/engineio/socket.py", строка 158,
в _websocket_handler
pkt = ws.wait () Файл "/usr/local/lib/python2.7/dist-packages/eventlet/websocket.py", строка
787, в ожидании
для меня в self.iterator: файл "/usr/local/lib/python2.7/dist-packages/eventlet/websocket.py", строка
642, в _iter_frames
message = self._recv_frame (message = fragmented_message) Файл "/usr/local/lib/python2.7/dist-packages/eventlet/websocket.py", строка
668, в _recv_frame
header = recv (2) Файл "/usr/local/lib/python2.7/dist-packages/eventlet/websocket.py", строка
577, в _get_bytes
d = self.socket.recv (numbytes - len (data)) Файл "/usr/local/lib/python2.7/dist-packages/eventlet/greenio/base.py",
строка 363, в recv
вернуть файл self._recv_loop (self.fd.recv, b '', bufsize, flags) Файл "/usr/local/lib/python2.7/dist-packages/eventlet/greenio/base.py",
строка 357, в _recv_loop
Файл self._read_trampoline () "/usr/local/lib/python2.7/dist-packages/eventlet/greenio/base.py",
строка 328, в _read_trampoline
timeout_exc = socket_timeout ('timed out')) Файл "/usr/local/lib/python2.7/dist-packages/eventlet/greenio/base.py",
линия 207, в _trampoline
mark_as_closed = self._mark_as_closed) Файл "/usr/local/lib/python2.7/dist-packages/eventlet/hubs/init.py",
линия 163, в батуте
вернуть файл hub.switch () "/usr/local/lib/python2.7/dist-packages/eventlet/hubs/hub.py", строка
295, в выключателе
return self.greenlet.switch () timeout: timed out [2018-07-04 13:08:58 +0000] [3487] [ERROR] Запрос на обработку ошибки сокета.
Traceback (последний вызов был последним): файл
"/Usr/local/lib/python2.7/dist-packages/gunicorn/workers/async.py",
линия 66, в ручке
Файл six.reraise (* sys.exc_info ()) "/usr/local/lib/python2.7/dist-packages/gunicorn/workers/async.py",
линия 56, в ручке
Файл self.handle_request (listener_name, req, client, addr) "/usr/local/lib/python2.7/dist-packages/gunicorn/workers/async.py",
строка 129, в handle_request
Файл six.reraise (* sys.exc_info ()) "/usr/local/lib/python2.7/dist-packages/gunicorn/workers/async.py",
строка 107, в handle_request
respiter = self.wsgi (environment, resp.start_response) Файл "/usr/local/lib/python2.7/dist-packages/flask/app.py", строка 2309, в
вызов
вернуть файл self.wsgi_app (environment, start_response) "/usr/local/lib/python2.7/dist-packages/flask_socketio/init.py",
линия 43, вызов
start_response) Файл "/usr/local/lib/python2.7/dist-packages/engineio/middleware.py", строка
47, в звоните
вернуть файл self.engineio_app.handle_request (environment, start_response) Файл "/usr/local/lib/python2.7/dist-packages/socketio/server.py", строка
360, в handle_request
вернуть файл self.eio.handle_request (environment, start_response) "/usr/local/lib/python2.7/dist-packages/engineio/server.py", строка 275,
в handle_request
environment, start_response) Файл "/usr/local/lib/python2.7/dist-packages/engineio/socket.py", строка 91,
в handle_get_request
start_response) Файл "/usr/local/lib/python2.7/dist-packages/engineio/socket.py", строка 133,
в _upgrade_websocket
вернуть файл ws (environment, start_response) "/usr/local/lib/python2.7/dist-packages/engineio/async_eventlet.py",
линия 19, вызов
вернуть супер (WebSocketWSGI, self). вызов (environment, start_response) Файл
"/usr/local/lib/python2.7/dist-packages/eventlet/websocket.py", строка
129, в звоните
Файл self.handler (ws) "/usr/local/lib/python2.7/dist-packages/engineio/socket.py", строка 158,
в _websocket_handler
pkt = ws.wait () Файл "/usr/local/lib/python2.7/dist-packages/eventlet/websocket.py", строка
787, в ожидании
для меня в self.iterator: файл "/usr/local/lib/python2.7/dist-packages/eventlet/websocket.py", строка
642, в _iter_framesmessage = self._recv_frame (message = fragmented_message) Файл "/usr/local/lib/python2.7/dist-packages/eventlet/websocket.py", строка
668, в _recv_frame
header = recv (2) Файл "/usr/local/lib/python2.7/dist-packages/eventlet/websocket.py", строка
577, в _get_bytes
d = self.socket.recv (numbytes - len (data)) Файл "/usr/local/lib/python2.7/dist-packages/eventlet/greenio/base.py",
строка 363, в recv
вернуть файл self._recv_loop (self.fd.recv, b '', bufsize, flags) Файл "/usr/local/lib/python2.7/dist-packages/eventlet/greenio/base.py",
строка 357, в _recv_loop
Файл self._read_trampoline () "/usr/local/lib/python2.7/dist-packages/eventlet/greenio/base.py",
строка 328, в _read_trampoline
timeout_exc = socket_timeout ('timed out')) Файл "/usr/local/lib/python2.7/dist-packages/eventlet/greenio/base.py",
линия 207, в _trampoline
mark_as_closed = self._mark_as_closed) Файл "/usr/local/lib/python2.7/dist-packages/eventlet/hubs/init.py",
линия 163, в батуте
вернуть файл hub.switch () "/usr/local/lib/python2.7/dist-packages/eventlet/hubs/hub.py", строка
295, в выключателе
тайм-аут возврата self.greenlet.switch (): время ожидания истекло