디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

코드 한 번 봐주셈

dot(125.128) 2011.08.27 00:01:24
조회 41 추천 0 댓글 0

    def run(self):
        while True:
            self.url = self.queue.get()
           
            #put working list to tell worker thread not to put url twice
            self.work_locker.acquire()
            self.work_list.append(self.url)
            self.work_locker.release()
           
           
            print(\'miner is running : \' + self.getName() +\' has work with \' + self.url )
           
            #try:
                #build cache
               
            #get post queue first
            self.__parser_list.ParseThis(self.url)
            self.__temp_post_queue = self.__parser_list.GetQueue()
            #print(self.__temp_post_queue.qsize())
            #get processed post
            self.__temp_postdata = queue.Queue()
           
            for a in range(2):
                self.__t = gall_parser.post_parser(self.__temp_post_queue, self.__temp_postdata)
                self.__t.setDaemon(True)
                self.__t.start()
           
            #wait until post queue become empty
            self.__temp_post_queue.join()
            #print("post output data number" + str(self.__temp_postdata.qsize()) )
            #sort by time order
            self.__temp_post_list = []
            while not self.__temp_postdata.empty() :
                elem = self.__temp_postdata.get()
                #print(elem)
               
            #for elem in self.__temp_postdata:
                self.__temp_post_list.append(elem)
               
            #[url, order]
            self.__temp_post_list.sort( key=operator.itemgetter(1) )
           
            #make the cache
            self.__temp_cache = page_maker(self.url, self.__temp_post_list)
           
           
           
            #add a cache in list
           
            #lock cache list
            self.locker.acquire()
           
           
            #cache : [url, time of using, time, data]
            self.__status_adding = False
           
            #find if there is the old one
            for self.__cache_elem in self.cache_list:
                if self.__cache_elem[0] == self.url:
                    self.__cache_elem[2] = time.time()
                    self.__cache_elem[3] = self.__temp_cache
                    self.__status_adding = True
                    print("old cache has been refreshed")
                    break;
           
            #There was no old one
            if not self.__status_adding:
           
                #check whether cache list reach the max number
                if len(self.cache_list) >= self.max_cache:
           
                    #find the least used cache
                    self.__temp_least_used = self.cache_list[0][1]
                   
                    for self.__cache_elem in self.cache_list:
                        if self.__temp_least_used < self.__cache_elem[1]:
                            self.__temp_least_used = self.__cache_elem[1]
                   
                    #replace the least used one
                    self.__cache_elem[0] = self.url
                    self.__cache_elem[1] = 0
                    self.__cache_elem[2] = time.time()
                    self.__cache_elem[3] = self.__temp_cache
                   
                #if cache list isn\'t full
                else:
                    self.cache_list.append( [self.url, 0, time.time(), self.__temp_cache] )
           
            #unlock cache list
            self.locker.release()
           
            #work completed, put off item in working list
            self.work_locker.acquire()
            try:
                self.work_list.remove(self.url)
            except:
                print("What happened!?")
            self.work_locker.release()

주석 이정도 달면 괜찮음?

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 SNS로 싸우면 절대 안 질 것 같은 고집 있는 스타는? 운영자 24/05/06 - -
272746 남자들은 왜 쇼핑몰 중독 현상이 없을까? ㅇㅇ(222.107) 11.09.16 88 0
272745 해킹보안 할려면 눈깔 빠질듯 힙꼬맹갤로그로 이동합니다. 11.09.16 69 0
272744 쿄스케 [3] 조인성(222.237) 11.09.16 39 0
272742 그런데 형님들 정보통신 실무경험 빨인가요 대학 빨인가여 [9] 힙꼬맹갤로그로 이동합니다. 11.09.16 99 0
272741 야짤이 모두 사무실 컴퓨터에 있어서... [2] SODMaster갤로그로 이동합니다. 11.09.16 66 0
272739 아맞아 짤올리기전에 질문점 [5] Unia갤로그로 이동합니다. 11.09.16 47 0
272738 원래 c에서 변수로 나누기 두번하면 오류떠? [2] ㅇㅇㅇ(119.202) 11.09.16 42 0
272737 이야 ! [1] Unia갤로그로 이동합니다. 11.09.16 24 0
272736 디자이너는 위대하다. [3] 천재해커(59.14) 11.09.16 83 0
272735 아스 갑자기 왜저래 [1] 쿄스케갤로그로 이동합니다. 11.09.16 37 0
272734 인터넷 속도가 514kb네 [3] 힙꼬맹갤로그로 이동합니다. 11.09.16 40 0
272733 nhn 지원하는 갤러들~! [9] (211.177) 11.09.16 156 0
272732 알고리즘 과제 질문좀 할께요ㅜㅜ [1] 부탁드립니다(220.70) 11.09.16 27 0
272731 visual studio 2010 오류 해결 좀 (코딩 상의 에러 아님) [2] ㅇ.ㅇ(165.246) 11.09.16 59 0
272730 존나 어이없는게 [3] 로하로하알로하갤로그로 이동합니다. 11.09.16 39 0
272729 프로젝트 새로 해도 안되던데 난 병신인가봥 [10] 힙꼬맹갤로그로 이동합니다. 11.09.16 121 0
272728 야들아 우리 힘을모아 메트릭스를 실현시키는거다. [1] 쵸쵸(219.251) 11.09.16 48 0
272727 ㅋㅋ ㅋㅋ(121.177) 11.09.16 19 0
272726 가진자들이 나눌줄 아는 행복한 나라에 가고 싶다. [1] 쵸쵸(219.251) 11.09.16 28 0
272725 C언어 VC++ 아는 형님들 도와주~~ [15] 힙꼬맹갤로그로 이동합니다. 11.09.16 123 0
272724 안드로이드 디씨앱 정식 나온다 [2] 디씨(124.197) 11.09.16 54 0
272719 정말 생각해보니, 사회에 분노가 가득하고 죽고 싶은 놈들끼리 모여서... [5] 천재해커(59.14) 11.09.16 111 0
272717 아스햏 원래 맛폰 아니었음? SODMaster갤로그로 이동합니다. 11.09.16 37 0
272716 어제 정전되서 엘리베라에 갇혔다는 뉴스도 많이 떴던데 [2] HarlemLuiah갤로그로 이동합니다. 11.09.16 59 0
272715 전자책이 좋을까 아이패드가 좋을가 핡핡 ㅇㅇ(61.77) 11.09.16 37 0
272712 와~ 일주일에 3일 일하니까 정말 좋다. [2] blackd갤로그로 이동합니다. 11.09.16 69 0
272708 .NET 질문좀여 ~~ PictureBox 때문 [1] lol(110.174) 11.09.16 33 0
272707 벙커버스터의 원리.JPG 천재해커(59.14) 11.09.16 140 0
272706 애플 앱스토어에서 전체 매출 순위 100위 정도면 얼마나 [1] 앱등위(183.1) 11.09.16 88 0
272704 후배들이 코드 짠거 보다가 깜짝놀람 ㅋ [4] 탐라국(121.159) 11.09.16 276 0
272703 안드로이드 잘아는사람 있어?? 터치에 관한 간단한건데 ㅠㅠ [2] ?(124.199) 11.09.16 41 0
272701 자살을 결심한 사람들은 소셜 네트워크로 뭉쳐서 혁명을 일으키자! [3] 천재해커(59.14) 11.09.16 75 0
272700 아 호스팅업체한테 욕먹을만햇다.. [4] 점술가2갤로그로 이동합니다. 11.09.16 66 0
272699 뻑킹 같은 코리아지만, 행복한 코리아로 되돌려 놓을 수 있는 방법이 있다 [2] ㅁㄴㄻㄹ갤로그로 이동합니다. 11.09.16 50 0
272698 허극허극 이건 뭐 은행이 아니고 상전이야 ㅠㅠ [3] 거칠게갤로그로 이동합니다. 11.09.16 46 0
272697 신선한 어려운 영어 떡밥이야~~ 몇시간 동안 해석 안된거. [19] 컴돌이(211.60) 11.09.16 111 0
272696 윈7 Asp 좀 물어볼겡.. [1] 츄젹뱌ㅕㅇ지(121.134) 11.09.16 43 0
272695 뻑킹 같은 코리아지만, 행복한 코리아로 되돌려 놓을 수 있는 방법이 있다 [1] 천재해커(59.14) 11.09.16 53 0
272694 노트북이 역시 최고다 진짜 [2] 三didas갤로그로 이동합니다. 11.09.16 103 0
272692 한국은 미쳤어!! 미쳤다고!!! [3] 거칠게갤로그로 이동합니다. 11.09.16 82 0
272690 gcc 최적화 옵션에 대해서 질문 좀 ㅜㅜ [1] gcc(220.70) 11.09.16 61 0
272688 외국제품 한글화 한 거냐? -_- [4] 분당살람갤로그로 이동합니다. 11.09.16 83 0
272687 이거 무슨소스야 ??? 공부하다가 처음보는거라 당황스러워 ~~ [5] ㅇㅇ(61.41) 11.09.16 101 0
272686 이 옷들은 어떰? [2] SODMaster갤로그로 이동합니다. 11.09.16 38 0
272685 윈 8 쓰는 형아들 iseeyou&갤로그로 이동합니다. 11.09.16 54 0
272684 ㅠㅠ.. 시험 자신있었는데 망했음... SODMaster갤로그로 이동합니다. 11.09.16 31 0
272683 아오 진짜 분노가 가득하다 이놈의 나라에 대한 애정은 전혀 없다. [3] 거칠게갤로그로 이동합니다. 11.09.16 70 0
272682 이런 니미럴 미친 뻐킹 코리아는 좀 망해야 한다. [1] 거칠게갤로그로 이동합니다. 11.09.16 73 0
272680 와 진짜 병신같은 뻐킹 코리아 좆같은 나라네 [3] 거칠게갤로그로 이동합니다. 11.09.16 79 0
272679 이엠택 이녀석들 개판이네.ㅡ.ㅡ; [1] blackd갤로그로 이동합니다. 11.09.16 82 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2