자바초보 // turl.setReadTimeout(5000); 여기서 내가 5초 걸었잖아 근데 에러 잘만 나던데 / MAX로 걸어야하나
ㄹㅇㄴㅁ(115.20)2012-12-23 21:06
근데 성공했을때 실행시간이 1초대 초반임 ㅇㅇ
ㄹㅇㄴㅁ(115.20)2012-12-23 21:07
굳이 MAX로 걸어야 됨?
ㄹㅇㄴㅁ(115.20)2012-12-23 21:07
저기서 Exception 나지? 그럼 try 걸고 catche에 리콜을해! 함수만들어서 그렇게해서 무조건 호출된후에 진행되도록하는게 좋을것같다 * 여기서 노파심에 말하는데 무신 웹을 호출하는데 어쩔댄 바로 나오고 어쩔된 지랄같이 오류내고 그러면 그웹이 문제가아닌냐?
자바초보(61.102)2012-12-23 21:54
캐시 서버를 하나 둬봐. 웹은 캐시 내용만 보여주고 서버측에서 캐시를 정기적으로 업데이트하도록 하는 편이 더 좋을듯?
c(175.208)2012-12-23 22:27
구글 앱엔진같은 경우에는 memcache를 캐시 서버로 쓰고 cron을 돌리면 되겠군
c(175.208)2012-12-23 22:29
@c 뭐 별것도아닌것같은데 물고기잡으려고 참치잡이배뛰울래??
자바초보(61.102)2012-12-23 22:39
니가 지적한 문제가 있잖아. 웹페이지 띄우는데 지랄같이 timeout되면 짜증나지. 페이지 로딩 오래걸리는것도 존나 짜증나지
c(175.208)2012-12-23 22:56
글쓴이 코드에서 타임아웃 세번만 돌아도 15초동안 페이지 만드는거 기다리고 있어야된다. 페이지 전송시간이랑 렌더링 시간 합치면 더 오래걸릴껄. 너같으면 그런 사이트 쓰겠냐?
c(175.208)2012-12-23 23:00
우선 접근해결책이 여러군대 분배되어있으면 유지보수및 처리하기에 많은 에너지가 소모가되기때문에 좋은 방법론은 아는것같아 위에서 말한것처럼 캐쉬서버에 cron으로 처리를한다?? 우선 cron으로 처리한다면 만든(설계)한사람은 알겟지만 타인은 잘모르겟지? 서버단가지 안보니깐 특히 유닉리눅단은 그렇기때문에 어디서처리되는지 그모듈에 문제가있는지 아니 그모듈이 있는지도 모를껄? 많은 방법론을 가지고 해결하는것은좋은 접근같은데 접근방법이 너무 다양하면 나중에 유지보수가 힘들다는거야 물론 만든사람이 혼자 다관리하면 위에말한것들은 무의미한거지만
자바초보(61.102)2012-12-23 23:02
구글 앱엔진에 cron 지원하는데 뭔소리임?
c(175.208)2012-12-23 23:06
그리고, 일정한 시간마다 프로그램 수행하는게 그리 복잡한가? 그거는 설계하는 사람이 복잡도를 조절할 일이지.
c(175.208)2012-12-23 23:08
key-value store가 구조가 없어보이고 구리면 RDBMS를 두고 업데이트 하면 되잖아? 페이지 로딩할때마다 페이지 생성을 블럭하면서 보여줄 만한 자료인지는 잘 모르겠고, 왠지 그럴 필요 없다는 느낌이 막 드는데.
c(175.208)2012-12-23 23:13
마치 병을고치기위해 약을먹고 그약의 부작용을위해 또다른 약을먹는 꼴이라는거지.
자바초보(61.102)2012-12-23 23:13
그딴 비유는 됐고, 페이지 생성이 오래걸리는 문제에 대해서 설명이나 해. 그게 진짜 문제에 대한 해결책일까?
c(175.208)2012-12-23 23:15
이건 뭐 문제를 해결하랬더니 더 문제를 만들고 있네. HTTP 요청 성공할때까지 서버가 아무 페이지도 안 만들어주고 계속 돌고있는게 참 잘도 문제를 해결하겠닼ㅋㅋ
c(175.208)2012-12-23 23:20
나같으면 또다른 캐쉬서버를 두지않고 위에서말했듯이 호출당하는 웹서비스를 우선 고치겟어 어쩔댄 잘나오고 어쩔댄 안나오는게 그게 웹서비스는 아니니깐. 그게 안된다면 저서블릿의 init함수에 주기적으로 호출하는 스케쥴 클래스 사용해서 session값에 넣어두고 그값을 불러서 리턴해줄것같은데
자바초보(61.102)2012-12-23 23:24
1. 호출당하는 웹서비스가 누구 소유인지 모르는데 어떻게 고치려고? / 2. 그리고 클래스를 주기적으로 실행한대매? 플랫폼에서 크론 API를 이미 제공하고 있는데 굳이 그렇게 만들 이유가 있으면 제시해봐
c(175.208)2012-12-23 23:27
1. 그웹서비스를 고칠수없는 여력이라면 어쩔수없는거고 2. 결국 똑같은 답으로 함축이되는데 나는 원로의 웹페이지를 주기적으로 호출하여 session값에 저장후 그것을 클라이언트에 바로 리턴한다는것이고 c는 구굴에서 제공하는 캐쉬서버사용 ,cron 사용해서 그 서버를 호출한다는거니. 결론적으로 접근방법론은 똑같은것같아.
* 하지만 내가 위에서 지적한것은 편하기위해 한겹의 보조장치를 한다면 지금당장 사용하기는 편하겟지만 유지보수차원에 즉 그사람이 하나의 프로젝트를 쭉한다는 보장이 절대없거든 그렇다고 인수인계도 잘되라는보장도없고 저런 보조장치(보정장치)를 사용하면 문제가 생겼을때 어떻게 처리할수가없어 예를들어 웹페이지의 uri가 바꼇다던가?
자바초보(61.102)2012-12-23 23:38
1. 왜 페이지를 세션에 저장해야 하는지 모르겠음. 이에 대한 설명을 요구함. 세션마다 페이지 내용이 달라야 하나? 2. 세션은 만료되기 마련인데 그에 대한 해결책은? / 크롤링하는 웹페이지가 바뀌었을때의 문제는 내가 제시한 방법으로도 가장 마지막으로 갱신된 페이지 내용을 보여주는 식으로 동작하므로 문제가 아님
c(175.208)2012-12-23 23:54
1. 미안 session 무의식적으로 쓴것같다 application 단 변수로 , 2. application단 변수면 was 변수니 패스 , 3. 내요점은 또다른 구글 계정이라던지 구글 관련된 관리가 필요하므로 또다른 에너지가 소비된다는거임.
참고로 구글 앱 엔진임 ㅇㅇ
자설리
블락킹 모드로 하면해결됨
setReadTimeout(Integer.MAX)
URL Fetch 앱엔진 api 참조해라. 니기미 씨팔 병신 디씨가 링크도 못하게 하네
기본적으로url호출은 read timeout이 존재할수밖에 없어
자바초보 // turl.setReadTimeout(5000); 여기서 내가 5초 걸었잖아 근데 에러 잘만 나던데 / MAX로 걸어야하나
근데 성공했을때 실행시간이 1초대 초반임 ㅇㅇ
굳이 MAX로 걸어야 됨?
저기서 Exception 나지? 그럼 try 걸고 catche에 리콜을해! 함수만들어서 그렇게해서 무조건 호출된후에 진행되도록하는게 좋을것같다 * 여기서 노파심에 말하는데 무신 웹을 호출하는데 어쩔댄 바로 나오고 어쩔된 지랄같이 오류내고 그러면 그웹이 문제가아닌냐?
캐시 서버를 하나 둬봐. 웹은 캐시 내용만 보여주고 서버측에서 캐시를 정기적으로 업데이트하도록 하는 편이 더 좋을듯?
구글 앱엔진같은 경우에는 memcache를 캐시 서버로 쓰고 cron을 돌리면 되겠군
@c 뭐 별것도아닌것같은데 물고기잡으려고 참치잡이배뛰울래??
니가 지적한 문제가 있잖아. 웹페이지 띄우는데 지랄같이 timeout되면 짜증나지. 페이지 로딩 오래걸리는것도 존나 짜증나지
글쓴이 코드에서 타임아웃 세번만 돌아도 15초동안 페이지 만드는거 기다리고 있어야된다. 페이지 전송시간이랑 렌더링 시간 합치면 더 오래걸릴껄. 너같으면 그런 사이트 쓰겠냐?
우선 접근해결책이 여러군대 분배되어있으면 유지보수및 처리하기에 많은 에너지가 소모가되기때문에 좋은 방법론은 아는것같아 위에서 말한것처럼 캐쉬서버에 cron으로 처리를한다?? 우선 cron으로 처리한다면 만든(설계)한사람은 알겟지만 타인은 잘모르겟지? 서버단가지 안보니깐 특히 유닉리눅단은 그렇기때문에 어디서처리되는지 그모듈에 문제가있는지 아니 그모듈이 있는지도 모를껄? 많은 방법론을 가지고 해결하는것은좋은 접근같은데 접근방법이 너무 다양하면 나중에 유지보수가 힘들다는거야 물론 만든사람이 혼자 다관리하면 위에말한것들은 무의미한거지만
구글 앱엔진에 cron 지원하는데 뭔소리임?
그리고, 일정한 시간마다 프로그램 수행하는게 그리 복잡한가? 그거는 설계하는 사람이 복잡도를 조절할 일이지.
key-value store가 구조가 없어보이고 구리면 RDBMS를 두고 업데이트 하면 되잖아? 페이지 로딩할때마다 페이지 생성을 블럭하면서 보여줄 만한 자료인지는 잘 모르겠고, 왠지 그럴 필요 없다는 느낌이 막 드는데.
마치 병을고치기위해 약을먹고 그약의 부작용을위해 또다른 약을먹는 꼴이라는거지.
그딴 비유는 됐고, 페이지 생성이 오래걸리는 문제에 대해서 설명이나 해. 그게 진짜 문제에 대한 해결책일까?
이건 뭐 문제를 해결하랬더니 더 문제를 만들고 있네. HTTP 요청 성공할때까지 서버가 아무 페이지도 안 만들어주고 계속 돌고있는게 참 잘도 문제를 해결하겠닼ㅋㅋ
나같으면 또다른 캐쉬서버를 두지않고 위에서말했듯이 호출당하는 웹서비스를 우선 고치겟어 어쩔댄 잘나오고 어쩔댄 안나오는게 그게 웹서비스는 아니니깐. 그게 안된다면 저서블릿의 init함수에 주기적으로 호출하는 스케쥴 클래스 사용해서 session값에 넣어두고 그값을 불러서 리턴해줄것같은데
1. 호출당하는 웹서비스가 누구 소유인지 모르는데 어떻게 고치려고? / 2. 그리고 클래스를 주기적으로 실행한대매? 플랫폼에서 크론 API를 이미 제공하고 있는데 굳이 그렇게 만들 이유가 있으면 제시해봐
1. 그웹서비스를 고칠수없는 여력이라면 어쩔수없는거고 2. 결국 똑같은 답으로 함축이되는데 나는 원로의 웹페이지를 주기적으로 호출하여 session값에 저장후 그것을 클라이언트에 바로 리턴한다는것이고 c는 구굴에서 제공하는 캐쉬서버사용 ,cron 사용해서 그 서버를 호출한다는거니. 결론적으로 접근방법론은 똑같은것같아. * 하지만 내가 위에서 지적한것은 편하기위해 한겹의 보조장치를 한다면 지금당장 사용하기는 편하겟지만 유지보수차원에 즉 그사람이 하나의 프로젝트를 쭉한다는 보장이 절대없거든 그렇다고 인수인계도 잘되라는보장도없고 저런 보조장치(보정장치)를 사용하면 문제가 생겼을때 어떻게 처리할수가없어 예를들어 웹페이지의 uri가 바꼇다던가?
1. 왜 페이지를 세션에 저장해야 하는지 모르겠음. 이에 대한 설명을 요구함. 세션마다 페이지 내용이 달라야 하나? 2. 세션은 만료되기 마련인데 그에 대한 해결책은? / 크롤링하는 웹페이지가 바뀌었을때의 문제는 내가 제시한 방법으로도 가장 마지막으로 갱신된 페이지 내용을 보여주는 식으로 동작하므로 문제가 아님
1. 미안 session 무의식적으로 쓴것같다 application 단 변수로 , 2. application단 변수면 was 변수니 패스 , 3. 내요점은 또다른 구글 계정이라던지 구글 관련된 관리가 필요하므로 또다른 에너지가 소비된다는거임.
@c 잘자~~