Microsoft MVP성태의 닷넷 이야기
App Pool idle time 과 WCF 서비스의 비동기 function 호출. [링크 복사], [링크+제목 복사]
조회: 14365
글쓴 사람
YJ
홈페이지
첨부 파일
 

안녕하세요?

한가지 풀기 힘든 것이 있어서 염치 불구하고 이곳에 질문을 올려 봅니다.

현재 제가 만들고 있는 시스템이 WCF 를 이용해서, SSIS Package 를 Running 하고 있습니다.

클라이언트에서는 특정 WCF 서비스를 동기로 호출하고, Back-End 에서는 요청받은 내용을 해석해서,

Package Running 을 비동기 function call로 실행시키고, 클라이언트에 패키지 실행이 성공했다는 메세지를 보냅니다.

이 패키지다 다 돌아가기까지는 30분정도가 걸리는데요.

App Pool 의 idle 타임이 20분인 관계로 20분이 지나니 죽어버리더군요.

즉, App Pool 은 자신이 처리할 Request 가 더이상 남아 있지 않다고 판단되면, 내부에 thread 가 살아 있는지에
관계 없이 죽어버리는 것으로 보입니다.

package 를 exe 나 COM+ 를 통해서 실행 시킬 수도 있지만, 굳이 IIS 상에서 돌리는 이유가 내부적으로 cache에 있는
데이터를 효율적으로 쓰기 위해서, 지금과 같은 형태를 유지하고 싶은데요.

App Pool 에게 아직 작업중인 thread 가 있다는 것을 알려줄 방법이 없을 까요?








[최초 등록일: ]
[최종 수정일: 7/7/2011]


비밀번호

댓글 작성자
 



2011-07-08 07시24분
제가 아는 바로는 작업 중임을 알리는 방법은 없습니다.

그렇긴 하지만, 굳이 idle 20분 제한을 그대로 받아들일 필요가 있을까 싶은데요. idle 타임이 존재하는 이유는, 개발자가 잘못 코딩한 경우에도 가능한 시스템을 안정적으로 유지할 수 있는 역할을 해주는 것이지, 꼭 그것이 강제적으로 받아들여져야 할 요소는 아닙니다.

그러하니, ^^ idle 타임을 1시간으로 늘려도 무방하다고 하겠습니다.

만약 시스템의 특성상 1시간의 idle 조건인 경우 절대 recycle이 발생하지 않아서 시스템이 불안정할 거라고 걱정하실지도 모르겠는데요. 괜찮습니다. ^^ 그에 더해서, "Regular Time Internval" 값이 1740 분으로 설정되어 있기 때문에 29시간 정도마다 한 번씩 recylce 됩니다. ^^
정성태
2011-07-08 10시13분
[YJ] idle 타임은 24시간 정도로 셋팅해서 테스트를 진행했습니다.
하지만, Regular Time Interval 시간이 되었을 때, 실행 중인 thread 가 있을 경우에도
App Pool 이 Recycle 되어 버리면서, thread 의 작업중인 내용이 사라지게 되네요.

다른 방법을 찾아 봐야 겠네요. 답변 감사합니다.
[guest]
2011-07-08 11시14분
그렇다면, 근본적으로 AppPool의 Recycle 간에 "thread의 작업 중인 내용"의 상태가 지속될 수 있는 방법을 사용하는 식으로 우회하는 수 밖에 없겠군요.

생각해 보면, 그런 경우에 WF가 적절한 선택이 되지 않을까 싶은데요. ^^ (아니면, 아예 Recycle 기능을 비활성화 시키거나.)
정성태

... 31  32  33  34  35  36  37  38  39  40  [41]  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
4829윤현수4/26/201714649System.Text.Encoding 질문 [1]
4828jaem...4/20/201710913시스템 종료시 block 함수 xp 지원가능한 방법 질문 [2]
4827ds4/13/201712678매서드 정의로 이동시 [메타데이터에서]에서 라고 나오는 것은 뭔가요? [1]
4826김솔지4/11/201710049CxImage 문자 출력 [1]
4825플메4/10/201710426덱스트 업로드 하는데 구성요소 서비스에 엑셀이 안뜨네요..ㅜㅜ [1]파일 다운로드1
4824김상경4/9/20179818win7에서 vb6.0을 이용해서 프로그램을 만들었습니다.(제가 만든건 아니고 옆 동료가 만들었습니다.) [1]파일 다운로드1
4823조상현3/28/201710863windows event log 에 대한 정보는 어디서 얻을 수 있을까요? [1]
4822부우3/24/201712517글수정이 안되어 다시올려드립니다ㅠ [12]파일 다운로드2
4821부우3/22/201726145파일이나 어셈블리 중 하나를 로드에러 좀 봐주세요 [9]파일 다운로드1
4820듀이3/20/201710932오차 없이 동시에 명령을 보내게 가능한가요? [2]파일 다운로드1
4819popo3/20/201712280C# sslstream 사용시 Cipher List 설정 [3]
4818부우3/16/201721137DllImport 사용시 진입점을 찾을수 없습니다 [2]
4817yun3/15/201710505서피스프로4의 HYPER-V로 윈도우7을 깔았는데... [1]
4816부우3/15/201713233C++ DLL함수 사용 질문드립니다 [10]
4815김지용3/14/20179299.net core linux 오류 [2]
4814김솔지3/13/201710376인쇄 시 , 출력화면을 이미지 파일로 저장하고 싶습니다. [1]파일 다운로드1
4813spow...3/8/201711898멀티 스레드 환경에서 처리하여야 할 목록을 효율적으로 사용하는 기법 질문 드립니다 [2]
4812popo2/23/201711972.NET Window ClassName 변경 질문 드립니다. [1]
4809힘찬도약2/15/201715044C# 가상 시리얼 [4]
4808이길용2/9/201713784WCF 외부 접속 관련해서 질문드립니다ㅠ [1]
4807헬조선식...2/8/201720375WPF의 속도에 대해서 궁금합니다. [3]
4803헬조선식...2/7/201713794WPF로 메신져 메세지 박스 구현 문의 [2]
4802spow...2/6/201710823특정 범위의 값을 다른 값으로 치환하는 메소드를 만들어야 할 때 가장 빠른 방법은? [7]
4804spow...2/7/201710700    답변글 [답변]: 특정 범위의 값을 다른 값으로 치환하는 메소드를 만들어야 할 때 가장 빠른 방법은?
4805spow...2/7/201710359    답변글 [답변]: 특정 범위의 값을 다른 값으로 치환하는 메소드를 만들어야 할 때 가장 빠른 방법은? (글삭제가 안돼 재첨부합니다)파일 다운로드1
4801spow...2/3/201710251C#의 참조 동작관련하여 아이디어 문의 드립니다 [4]
... 31  32  33  34  35  36  37  38  39  40  [41]  42  43  44  45  ...