파이썬 마을 게시판 인덱스 파이썬 마을
우리나라 파이썬 사용자들의 이야기 마을
 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 
Google
python.or.kr Web

connect(), settimeout()

 
글 쓰기   답변 달기    파이썬 마을 게시판 인덱스 -> 파이썬 질문과 답변
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
onlymg



가입:
올린 글: 212

올리기올려짐: 2007 9월 27 3:10 pm    주제: connect(), settimeout() 인용과 함께 답변

코드:
def __init__(self,localhost):
   self.m_mutex = threading.Lock()
   try:
      self.m_cnn = pgdb.connect(database='aaa',host=localhost,user='aaa',password='aaa')
   except:
   try:
                   self.m_cnn = pgdb.connect(database='aaa',host='127.0.0.1:5432',user='aaa',password='aaa')
      print 'error connect => connect my holic_log DB'
      sleep(0.1)
   except:
      print 'error connect', sys.exc_type, sys.exc_value
            self.m_cnn = None


디비 연결할때 연결이 안되면 다른 디비로 다시 연결시도할려고 try except했습니다.
그런데 처음 연결할 때,

전제 : 연결이 안되게 해놓음...

연결이 되지 않기 때문에 계속 해서 연결을 시도하고 있는거 같습니다.
윈도우상에서는 그나마 오랜 시간을 끌지 않고 다른 디비 연결로 넘어가는데,
리눅스의 경우에는 거의 1분이 넘는 시간을 계속 디비 연결하려고 하는 거
같은데 이 연결시 일정 시간이 지나면 에러 처리하고 다른 디비로 바로 넘어가게
하려면 어떻게 해야 하나요?

일단 찾아본건
settimeout함수인데 이걸
코드:
   
 settimeout(1000)
 self.m_cnn = pgdb.connect(database='aaa',host=localhost,user='aaa',password='aaa')
 

위와 같이 시도하면 연결이 되는 host를 붙여도 연결 안됐다고 나오고
타임아웃의 인자도 좀 길게 하거나 짧게 해도 시간은 같게 나오는군요...

connect함수를 건드릴 다른 방법이 있을까요?
위로
사용자 정보 보기 비밀 메시지 보내기    
장혜식
사이트 관리자


가입:
올린 글: 1374

올리기올려짐: 2007 9월 27 9:33 pm    주제: 인용과 함께 답변

일반적인 DB-API를 쓰는 환경에서는 불가능합니다.
(아주 옛날에 asyncore기반 mysql 비동기 라이브러리나 postgresql 비동기
라이브러리에 대한 바인딩이 나온 적이 있었는데, 사용이 너무 힘들어서 대부분
포기하고 지금은 관리되지 않는 상태입니다.)
보통 Twisted Enterprise에서 쓰는 방법대로 데이터베이스 작업은 쓰레드로
분리시켜서 쓰는게 안전합니다.
_________________
http://me2day.net/hyeshik
위로
사용자 정보 보기 비밀 메시지 보내기    
onlymg



가입:
올린 글: 212

올리기올려짐: 2007 9월 28 8:48 am    주제: 답변 감사합니다 인용과 함께 답변

답변이 없어서 답답했는데...
라이브러리 봐도 안나오고요... 음 이걸 어쩐다!

정말 감사합니다~ 좋은 하루 보내세요^.^
위로
사용자 정보 보기 비밀 메시지 보내기    
이전 글 표시:   
글 쓰기   답변 달기    파이썬 마을 게시판 인덱스 -> 파이썬 질문과 답변 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다



Powered by phpBB © 2001, 2005 phpBB Group
회선/장비: Daum DNA , 관리: 장혜식,서상현