2009-06-05 4 views
0

5 초마다 입력 디렉터리를 검사하는 응용 프로그램이 있으며 작업 (즉 파일)이 디렉터리에 배치되면 응용 프로그램은이를 읽고 처리하고 다른 파일을 출력합니다. 출력 디렉토리에.응용 프로그램 디자인 - 웹 페이지가있는 데몬 FrontEnd

제 질문은 웹 기반 프런트 엔드를이 응용 프로그램에 넣으려면 처리가 완료 될 때까지 어떻게 기다려야합니까?

  • 사용자는 여기 웹 페이지에서 뭐하는 거지
  • ......
  • 작업이 입력 디렉토리에 위치 작업 제출?
  • 처리는 어떻게 작업이 완료되었음을 알 수 있습니까 ......
  • 출력 파일이
  • 을 생성 발생? 내가 생각 해낸

두 솔루션은 있었다 : 웹 페이지에서

  • 투표 출력 디렉토리 모든 x 초
  • 사용 아약스 출력 파일이 존재하는지 여부를 다시보고하는 웹 서비스 나 웹 페이지를 폴링

서버의 디자인이 더 좋습니까? 즉,이 상황에서 TCP 또는 명명 된 파이프가 어떻게 도움이됩니까? (DCOM 객체 때문에 리모팅을 사용할 수 없다.)

+0

웹 페이지의 사용자가 파일을 업로드하고 처리되기를 기다리고 있습니까? – scottm

+0

"작업"파일이 생성 된 정보를 제출하고 있습니다. –

답변

0

우리가 과거에 상업적으로 해낸 해법은 기본적으로 데몬이 로그 (일반적으로 DB)에 날짜/시간 스탬프를 쓰고 그 일을하는 것과 웹 프론트 엔드가 최신 X 항목 로그에서 "파일을 찾지 못했습니다."메시지를 모두 숨기고 토글을 약간 바꾸면서 AJAX (20 초마다 다시로드되는 타이머)로 나중에 업그레이드했습니다.

+0

나는 그 의미를 바랐다. 그 2시 30 분 여기, iv는 19 시간 동안 올라 갔다. :) –

+0

감사합니다 pzycoman, 그건 내가 생각했던 또 다른 해결책이고 아마이 응용 프로그램에서 작동 할 것이다. –

0

Named Pipe가 웹 클라이언트가 자동으로 폴링하는 것을 더 쉽게 만들지는 않을 것이라고 생각하지만, 서버가 다른 사람에게 변환이 완료된 프로세스 - 궁극적으로 메시지를 웹 브라우저에 대기시킵니다.

몇 초마다 웹 클라이언트를 폴링하여 파일 프로세스가 완료되었는지 확인할 수 있습니다. 또는 Juggernaut "push"명령을 페이지에 출력 할 수 있습니다. Juggernaut는 Flash를 사용하여 서버에서 JavaScript를 지속적으로 제공하는 웹 브라우저의 소켓을 엽니 다. 파일이 완료되었음을 브라우저에 경고하고 리디렉션을 실행하라는 명령을 보내는 일을 담당 할 수 있습니다.

관련 문제