내 사이트를 클릭하는 사람들을 기반으로 일부 분석 데이터를 로깅합니다. 사람이 무언가를 클릭하면 ajax 호출을 통해 내 노드 응용 프로그램에 전화를하지만, 클릭 한 내용이 외부 링크 인 경우 사이트를 떠나기 때문에 원래 요청이 취소됩니다. 클라이언트가 연결을 끊은 후에도 노드가 요청을 처리하는 좋은 방법이 있습니까?사용자가 브라우저를 닫은 후에도 Node.js가 프로세스를 계속 실행할 수 있습니까?
0
A
답변
3
실행중인 프로세스가 응답에 내용을 쓸 필요가 없다면 확실히 문제가되지 않습니다. 당신이
사용자처럼 뭔가를 할 경우
는 그렇다하더라도, 아마 당신은 "고맙습니다는, 작업이 시작되었다"응답 요청을 제출 어쨌든 문제가되지 않습니다. 응답하기 전에 비동기 적으로 작업을 실행하십시오 (node.js 코드 은이 시작하려면 비동기이어야 함).작업은 일부 테이블이나 파일 또는 nosql 저장소에 데이터를 저장합니다.
사용자는 다른 URL로 이동하여 작업 및 상태 (시작됨, 실행 중, 완료 됨) 목록을보고 결과를 볼 수 있습니다.
관련 문제
- 1. 브라우저를 닫은 후에도 파일을 업로드하십시오.
- 2. "interact"후에도 expect 스크립트가 다른 명령을 계속 실행할 수 있습니까?
- 3. Google App Engine Java - 사용자가 브라우저를 닫은 후에도 세션 유지 가능 (기능 기억)
- 4. PHP를 사용하면 브라우저를 닫은 후에 쿠키를 만료시킬 수 있습니까?
- 5. 브라우저를 계속 기다리는 브라우저
- 6. 응용 프로그램을 닫은 후에도 정적 변수가 활성화됩니까?
- 7. Sharepoint 2010 : 브라우저를 닫은 후에도 로그 아웃하지 않고 사용자를 서명하지 않습니다.
- 8. 사용자 지정 메타 데이터를 MS Office 파일에 어떻게 연결하고 파일을 닫은 후에도 계속 유지합니까? VSTO에서?
- 9. 메인 윈도우를 닫은 후에도 내 애플리케이션이 계속 실행되는 이유는 무엇입니까? 내가 한 경우
- 10. 제거한 후에도 계속 유지되는 파일에 정보 저장
- 11. .net 프로젝트를 실행할 때 기본 브라우저를 어떻게 바꿀 수 있습니까?
- 12. 프로세스를 실행할 때 (SwingUtilities.invokeLater)
- 13. 100 개 이상의 프로세스를 실행할 수 없습니다.
- 14. 사용자가 브라우저를 중지했을 때 AJAX 오류를 식별 할 수 있습니까?
- 15. 사용자가 '허용하지 않음'을 클릭하면 브라우저를 리디렉션 할 수 있습니까?
- 16. SqlConnection을 닫은 후에도 SqlConnection이 SSMS 프로세스 목록에 남아있는 이유는 무엇입니까?
- 17. 어떻게 nohup을 사용하여 프로세스를 리눅스에서 백그라운드 프로세스로 실행할 수 있습니까?
- 18. 개인 API를 사용하여 iPhone에서 백그라운드 프로세스를 실행할 수 있습니까?
- 19. 사용자가 있는지 확인하십시오 (계속 ...)
- 20. 계속 org.hibernate.exception.JDBCConnectionException : 쿼리를 실행할 수 없습니다.
- 21. 연결을 유지하지 않고 mysql 마이그레이션을 계속 실행할 수 있습니까?
- 22. MainWindow를 닫은 후 스레드 wpf
- 23. PrototypeJS - 입력 복제, Firefox의 removeAttribute 후에도 계속
- 24. 멈추지 않고 실패 후에도 내 사양을 계속 실행하려면 자동 테스트를받을 수 있습니까?
- 25. Node.js가 기본 클라이언트가있는 Chrome에서 클라이언트 측을 실행할 수 있습니까 (곧 출시 예정)
- 26. Visual Studio 2010에서 기본 브라우저를 계속 변경합니다.
- 27. node.js가 인증 상태가됩니다.
- 28. 사용자가 Facebook에 로그인했는지 어떻게 알 수 있습니까?
- 29. socket.io 요청을 수신하려면 node.js가 필요합니까?
- 30. 부스트 : 프로세스를 시작하고 프로세스를 실행할 수있는 방법은 무엇입니까?
내 node.js 코드를 보면 내 데이터가 db에 저장된 후 응답을 보내주기를 기다립니다. 즉시 응답을 보내고 도움이되는 것을 볼 것입니다. – Clint
@clint - 예. 데이터 처리를 비동기 적으로 시작하십시오 *. 방법을 잘 모르는 경우 프로세스의 세부 사항과 시도한 내용으로 질문을 업데이트하거나 새로운 질문을 시작하십시오. – hvgotcodes
데이터를 데이터베이스에 저장하는 것이 가장 확실한 비동기 호출입니다. 노드에서 비동기로 만들지 않는 것이 어렵습니다 :-) 나는 클라이언트 AJAX 호출이 브라우저가 그것을 차단하기 전에 때때로 노드에 전달하지 않는다고 생각한다. 나는 더 많은 시험을하고 돌아올 것이다. – Clint