홈>
flask_socketio 및 eventlet이있는 python 용 눈송이 커넥터를 사용하여 눈송이에 대해 쿼리를 실행하려고하면 다음 오류가 발생합니다. 원숭이 패치 이벤트를 수행 할 때만 발생합니다. 이에 대한 도움을 주시면 감사하겠습니다.
import snowflake.connector as scon
from flask import Flask
from flask_socketio import SocketIO
import eventlet
eventlet.monkey_patch()
def query():
# Gets the version
ctx = scon.connect(
user='xxx',
password='xxxxxxxx',
account='xxxxxx',
)
cs = ctx.cursor()
try:
cs.execute("SELECT current_version()")
one = cs.fetchone()
return 'Snowflake version={}'.format(one[0])
finally:
cs.close()
app = Flask(__name__)
socketio = SocketIO(app)
@app.route('/')
def query_route():
return query()
socketio.run(app,debug=False, host='localhost', port=5000)
받은 오류 :
Traceback (most recent call last):
File "/home/chad/miniconda2/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "/home/chad/miniconda2/lib/python2.7/threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File "/home/chad/miniconda2/lib/python2.7/multiprocessing/pool.py", line 327, in _handle_workers
while thread._state == RUN or (pool._cache and thread._state != TERMINATE):
AttributeError: '_MainThread' object has no attribute '_state'
Exception in thread Thread-6:
Traceback (most recent call last):
File "/home/chad/miniconda2/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "/home/chad/miniconda2/lib/python2.7/threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File "/home/chad/miniconda2/lib/python2.7/multiprocessing/pool.py", line 363, in _handle_tasks
cache[job]._set(ind + 1, (False, ex))
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
- 답변 # 1
관련 자료
- Python 용 Snowflake 커넥터를 설치하는 동안 오류가 발생했습니다.
- 파이썬에서 값 오류 예외를 어떻게 설정할 수 있습니까?
- new operator - 파이썬 - __new__를 실행할 때 오류가 발생합니까? __init__를 호출하지 않음
- 파이썬 멀티 스레딩 또는 멀티 프로세싱?
- Mysql 커넥터 80 및 Python 38
- 파이썬이 목록 이해에서 오류를 제외하지 않는 이유
- ubuntu - python - 간단한 for 루프 구문 오류
- html - 웹 스크랩 핑 (Python 3) 코드에 구문 오류가 있습니까?
- 입력을 위해 Python 생성기를 사용하는 동안 keras의 OOM 오류
- pandas - 파이썬에서 오류 날짜 값을 0으로 채우는 방법
- javascript - graphviz/d3 및 python httpserver에서 포착되지 않은 유형 오류 "thisnode () is null"
- Python @ attrs로 인해 선택적 속성이있는 개체를 만들 때 오류가 발생합니다
- numpy - 파이썬에서이 코드를 실행 한 후이 오류가 계속 나타납니다
- 파이썬은 연결 오류가 발생하더라도 목록을 계속 반복합니다
- 관리자가있는 Python 다중 처리 프로세스가 교묘하게 작동합니다
- MySQL 커넥터를 사용하여 Python에 INT 데이터를 삽입 할 수 없음
- 내 파이썬 코드에서 여러 개의 주사위 (예 - 100 개)를 굴리는 중 오류가 발생했습니다 ** 예시 포함 **
- mysql - 먼저 execute ()를 사용하는 Python MySQLdb의 SQL 구문 오류
- python - 모듈 'multiprocessing'에 'sharedctypes'속성이 없다는 오류가 표시되는 이유는 무엇입니까?
- python - 스레드 오류시 처음부터 프로그램을 다시 시작하는 방법
트렌드
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- JavaScript 변수를 HTML div에 '출력'하는 방법
- python - 문자열에서 특정 문자 제거
멀티 프로세싱 패키지는 Eventlet과 호환되지 않습니다. Evenlet 관리자의 의견입니다.
이 기능을 Eventlet에 바인딩되지 않은 별도의 프로세스 (다른 마이크로 서비스)로 옮기는 것을 고려해야합니다.