Розетка отключается случайно - PullRequest
0 голосов
/ 19 января 2020

Я использую SocketIO для потоковой передачи данных Twitter (после должной обработки в слое Spark) для потоковой передачи данных в браузер. Тем не менее, я заметил, что событие разъединения сокета запускается случайным образом, говоря:

Клиент ушел, закрывая сокет

Кроме того, я использую Eventlet, а библиотека обезьяна залатана. По запросу на обслуживание сервер выгружает весь рабочий процесс в поток, как показано в следующем фрагменте, поэтому сервер может свободно обрабатывать пакеты PING / PONG.

wf = work_flow.get(current_user.get_id())
if not wf:
    wf = work_flow.WorkFlow(current_user.get_id())
    work_flow.add(wf)
keys = request.form['search_terms']
interval = request.form['report_interval']
print('Search Terms: ', keys)
print('Report Interval: ', interval)
keys = keys.strip().split()[0].strip()
interval = int(interval.strip())
wf.first_docid = None
wf.thread_event = threading.Event()
wf.thread = socketio.start_background_task(start_procs, wf.userid, keys, interval)
return redirect(url_for('.search_results', keys=keys, interval=interval))
...