디시인사이드 갤러리

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

갤러리 본문 영역

코드 한 번 봐주셈

dot(125.128) 2011.08.27 00:01:24
조회 48 추천 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
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 반응이 재밌어서 자꾸만 놀리고 싶은 리액션 좋은 스타는? 운영자 25/07/28 - -
AD 휴대폰 액세서리 세일 중임! 운영자 25/07/28 - -
269392 아까 글에서 그 문제에서 어려운 점이 뭐였냐면요... [3] 컴돌이(180.227) 11.09.03 79 0
269391 으아 잘 안풀린다... [성대아싸]갤로그로 이동합니다. 11.09.03 64 0
269390 나도 비트 windows 19기 회식후기나 써볼까 [6] SuCo갤로그로 이동합니다. 11.09.03 213 0
269386 회식 후기..( 혹시 궁금해 하는 사람 있을꺼 같아서.. ) [2] blackd갤로그로 이동합니다. 11.09.03 157 0
269385 (트리)특정레벨의 노드를 전부 출력하는 거 못짜면 머리나쁜거야?? [13] 컴돌이(180.227) 11.09.03 188 0
269384 공비횽은 테트리스 3시간만에 짰는데 지렁이만드는게 욕나올 정도야??? [15] 컴돌이(180.227) 11.09.03 263 0
269383 요즘 중딩들은 허세가 유행인가? 다 장근석 ㄳㄲ 때문이다. [2] ㅇㅈㅁ(203.170) 11.09.03 114 0
269381 C언어로 할수있는 프로젝트 뭐없을까요? [15] 늅늅(210.123) 11.09.03 364 0
269380 일본에 있을필요가 있나? YesMan갤로그로 이동합니다. 11.09.03 65 0
269379 형들ㅡㅜ. 군대갔다오니 머리 초기화, 자바 공부 너무 힘듬 좀 도와줘 [4] 여로보암갤로그로 이동합니다. 11.09.03 116 0
269378 안철수가 시장 되고, 구글,애플,MS가 미국 버리고 한국 기업 되주면!! ㅇㅇ(222.107) 11.09.03 58 0
269377 형들 DX공부중에 궁금해서 그런데; 멀티텍스쳐 어디다가 써? [5] 하이구(115.23) 11.09.03 99 0
269375 온게임넷에서 슈퍼앱코리아라는거 하는데 프로그래밍 관련한 프로그램이네.. [2] ㅁㄴㅇ(175.116) 11.09.03 94 0
269373 프갤형들한테 물어볼게있엉 [7] ddd(123.111) 11.09.03 76 0
269372 잉여스러운 취미나 해야겠다 [1] monoless갤로그로 이동합니다. 11.09.03 56 0
269370 아주 쉬운 비베 질문이요!! [3] ㅇㄴ(121.175) 11.09.03 97 0
269368 읽을만한책 [1] 호솽갤로그로 이동합니다. 11.09.03 52 0
269367 다들 연봉 어떻게 되냐 [10] 늅붑이(121.88) 11.09.03 277 0
269366 질문 할껀데 누가 답해줄꺼임 [13] 로하로하알로하갤로그로 이동합니다. 11.09.03 117 0
269365 횽들 몇일전에 그 고딩 여자애 기억남? [3] 늅붑이(121.88) 11.09.03 148 0
269363 팩토리알이 뭐 별건가? SODMaster갤로그로 이동합니다. 11.09.03 57 0
269362 내가 전과승인받으러 교수님 뵙었을 때가 있었찌... [7] Agangs갤로그로 이동합니다. 11.09.03 256 0
269358 재미가 없는 이유 [2] ㅇㅇ(222.107) 11.09.03 126 0
269357 정리하면서 공부하려고 사이트를 만들어서 정리하는데 [3] n(218.51) 11.09.03 94 0
269356 보안 진짜 답없긔? [4] 차도컴공남갤로그로 이동합니다. 11.09.03 110 0
269355 횽들 C 질문이 있어~~ [16] 열심히해보잣갤로그로 이동합니다. 11.09.03 121 0
269354 와우 나랑 뇌자알 비슷한 부분 공부하는 사람이 잇엇군 [2] 서전트페퍼(118.176) 11.09.03 60 0
269353 Effective C++ 다보신 형님들 계십미까? [4] SuCo갤로그로 이동합니다. 11.09.03 175 0
269352 자료구조랑 알고리즘 중에서 횽들은 뭐부터공부할꺼야 [5] Agangs갤로그로 이동합니다. 11.09.03 110 0
269351 뇌자알 책에 오타가 좀 많음 공부할때마다 개고생 했는데 [1] SuCo갤로그로 이동합니다. 11.09.03 147 0
269350 뭐 그런거 가지고 그래 [3] monoless갤로그로 이동합니다. 11.09.03 61 0
269349 와...나 3시간동안 눈깔 병싱이었구낭. [4] Agangs갤로그로 이동합니다. 11.09.03 97 0
269348 Agangs 횽 더블링크드 리스트 틀린거 봅니다. [23] SuCo갤로그로 이동합니다. 11.09.03 124 0
269347 재주는 프로그래머가 부리고, 돈은 누가 받나요? [2] ㅇㅇ(222.107) 11.09.03 139 0
269346 서울 시장 선거와 네이버의 검색 조작 : 웹툰#9 [3] (112.146) 11.09.03 125 0
269345 어제 통쾌했다 [2] 좋은아버지갤로그로 이동합니다. 11.09.03 80 0
269344 흥미로운 소스군. 천재해커(121.190) 11.09.03 87 0
269343 C언어 책 뭐가 좋을지 골라조 [2] ㅁㅌ(211.235) 11.09.03 157 0
269342 형들 어플 만든거 올리고 싶은데...무료로 등록할수있는 방법 엄뜸? ㅁㅁㅁ(58.235) 11.09.03 41 0
269341 피자헛 주문횟수가 12번을 넘겼는데 VIP가 안되네.... SODMaster갤로그로 이동합니다. 11.09.03 49 0
269340 이거 뭔소스에여? [2] 123(110.47) 11.09.03 72 0
269339 하아 거짓말안하고 소스 진짜 다똑같음 오류스샷올려썽 [28] Agangs갤로그로 이동합니다. 11.09.03 186 0
269338 정전이지만 프겔은 그래도 사정이 나은것 같다. 생각놀이갤로그로 이동합니다. 11.09.03 38 0
269337 아 씨발. [3] Agangs갤로그로 이동합니다. 11.09.03 88 0
269335 모바일웹홈페이지에 관해서 궁금한게 있어서요! 궁금증(125.146) 11.09.03 96 0
269334 동적할당한거 프로그램 종료될 때 자동 해제되나요??? [3] 컴돌이(180.227) 11.09.03 83 0
269333 고정닉을씁시다 [2] 三didas갤로그로 이동합니다. 11.09.03 74 0
269332 웹쪽으로는 대학원이 없나? [2] Paradise갤로그로 이동합니다. 11.09.03 98 0
269331 당신에 섹스에 대해 알고싶었던 모든 것 [3] SODMaster갤로그로 이동합니다. 11.09.03 146 0
269330 원래 시장, 대통령 선거에서는 제일 덜 ㅄ인 애를 뽑는 거다. [4] ㅇㅇ(222.107) 11.09.03 120 0
뉴스 [종영] '견우와 선녀' 조이현X추영우, 악신도 못 막은 역대급 첫사랑! 봉수 천도하고 쌍방 구원 해피엔딩 디시트렌드 07.30
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2