쿼리가 완료되기 전에 응답 보내기

dthree

Node.js를 통해 SQL Server에 대한 쿼리를 호출하는 웹 앱이 있습니다.

일반적으로 1-2 초가 소요되는 클라이언트에서 쿼리를 실행하고 싶지만 일부 특수한 경우에는 최대 1 분 30 초가 걸릴 수 있습니다.

클라이언트는 XHR 요청에 대한 응답을 원하고 1 분 30 초를 기다리기를 원하지 않습니다. 응답이 무엇을 말하든 상관하지 않습니다.

쿼리는 openquery를 통한 삭제 문입니다. 결과를 다시 기대하지 않습니다.

결과에 관계없이 삭제 문과 같은 것을 실행 한 다음 완료되기 전에 쿼리에 대한 응답을 반환하는 방법이 있습니까? 그런 건 들어 본 적이 없어서 어디를보아야할지 모르겠지만 지금까지 찾을 수 없습니다.

폴 사식 |

다른 많은 언어에서 대답에는 스레딩이 포함되지만 js는 스레드를 지원하지 않기 때문에 설명하는 것과 같은 비동기 반환을 생성하기 위해 프로세스와 작업해야합니다.

에서 호출 된 REST / Web API 함수에서 하위 프로세스생성 하고 클라이언트에 결과를 반환합니다. 이 체계는 삭제 쿼리의 실행 시간에 대한 종속성을 분리합니다. 하위 프로세스가 2 초 또는 2 분 내에 실행 되든 관계없이 클라이언트는 원하는대로 차이를 알지 못하며 결과는 거의 즉각적으로 보입니다.

간단한 샘플과 같은 다른 자원을 제공하고 있습니다 이것이것을 사용할 수 등.

Nodejs에서 자식 프로세스를 실행하기위한 간단한 코드 샘플 :

var exec = require('child_process').exec;
exec('node -v', function(error, stdout, stderr) {
    console.log('stdout: ' + stdout);
    console.log('stderr: ' + stderr);
    if (error !== null) {
        console.log('exec error: ' + error);
    }
 });

코드가 더 간단 해 보일 수 있도록 in / out / error 스트림을 신경 쓰지 않거나 필요하지 않을 수도 있습니다. 이 같은:

var exec = require('child_process').exec;
exec('node -v', function() {
    // put your delete code here
 });

이 섹션은 아래 주석에서 추가 및 수정되었습니다.

SQL Server에서 비동기 작업을 시작하는 유일한 방법은 쿼리, sproc 등의 실행을 예약하는 것입니다.하지만 그것은 추악한 해킹입니다. 클라이언트에서 프로그래밍 방식으로이를 수행 할 수있는 네이티브 API가 있지만 시작 위치로 돌아갑니다.

어쨌든 UI / UX와 백엔드간에 만들 수있는 긴밀한 결합 때문에 SQL에서이 기능을 구현하지 않는 것이 좋습니다. 그리고 자식 프로세스 솔루션을 구현하기 위해 node.js에 대한 심층 분석이 필요하다고 생각하지 않습니다. 특히 결과에 신경 쓰지 않는 경우 매우 간단합니다. 간단한 발사와 잊어.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

응답 처리가 완료되기 전 오류 페이지

분류에서Dev

Express.js / Multer. onFileUploadComplete가 완료되기 전에 전송되는 응답

분류에서Dev

스크립트가 완료되기 전에 PHP에서 ajax로 응답 반환

분류에서Dev

NodeJS는 기능이 완료되기 전에 응답합니다.

분류에서Dev

시간 초과가 연결을 종료하기 전에 응답 보내기 (nodejs)

분류에서Dev

쿼리가 완료되기 전에 완료된 Big Query 작업 상태

분류에서Dev

Python-PUT가 완료되기 전에 서버가 응답하면 HTTP 모듈이 응답을 구문 분석 할 수 없습니다.

분류에서Dev

쓰기가 완료되기 전에 IndexedDB 읽기 완료

분류에서Dev

PostgreSQL : 완료되기 전에 dblink를 통해 쿼리의 PID 가져 오기

분류에서Dev

useEffect가 완료되기 전에 후크 렌더링 구성 요소에 반응

분류에서Dev

Net.WebRequest에 너무 많은 시간이 걸리고 응답을 받기 위해 완료되지 않음

분류에서Dev

Twilio를 사용하여 SMS를 보내고 전화에서 응답을 기다렸다가 NodeJS에서 요청을 완료하는 방법

분류에서Dev

쿼리 응답 Solr에서 코어 이름 가져 오기

분류에서Dev

다른 페이지로 이동하기 전에 리듀서 응답 작업이 완료되었는지 어떻게 확인합니까?

분류에서Dev

NestJS-응답에 본문 보내기

분류에서Dev

로컬 파일에 응답 보내기

분류에서Dev

비동기 응답이 돌아 오기 전에 fsx 스크립트가 완료 됨

분류에서Dev

파이썬 : 명령이 완료되기 전에 check_output에서 응답 받기

분류에서Dev

AWS Lambda에서 작업이 완료되기 전에 요청에 대한 200 ok 응답

분류에서Dev

작업이 완료되기 전에 NodeJS 비동기가 완료 됨

분류에서Dev

Firebasequery가 완료되기 전에 Android 비동기 작업이 완료 됨

분류에서Dev

완료 전에 완료 처리기 True

분류에서Dev

C에서 응답을 기다리지 않고 프로브 요청 보내기

분류에서Dev

NSTextView의 다음 응답자에게 명령 바로 가기 보내기

분류에서Dev

API 응답으로 보내기 전에 mongodb 레코드 수정

분류에서Dev

Android보기가 그리기에 응답하지 않습니다.

분류에서Dev

iprocess가 완료되기 전에 대기가 계속됩니다.

분류에서Dev

시간 초과가 만료되었습니다. 작업이 완료되기 전에 시간 초과 기간이 경과했거나 서버가 응답하지 않습니다. "

분류에서Dev

Express.js의 UInt8Array에서 바이너리 응답 보내기

Related 관련 기사

  1. 1

    응답 처리가 완료되기 전 오류 페이지

  2. 2

    Express.js / Multer. onFileUploadComplete가 완료되기 전에 전송되는 응답

  3. 3

    스크립트가 완료되기 전에 PHP에서 ajax로 응답 반환

  4. 4

    NodeJS는 기능이 완료되기 전에 응답합니다.

  5. 5

    시간 초과가 연결을 종료하기 전에 응답 보내기 (nodejs)

  6. 6

    쿼리가 완료되기 전에 완료된 Big Query 작업 상태

  7. 7

    Python-PUT가 완료되기 전에 서버가 응답하면 HTTP 모듈이 응답을 구문 분석 할 수 없습니다.

  8. 8

    쓰기가 완료되기 전에 IndexedDB 읽기 완료

  9. 9

    PostgreSQL : 완료되기 전에 dblink를 통해 쿼리의 PID 가져 오기

  10. 10

    useEffect가 완료되기 전에 후크 렌더링 구성 요소에 반응

  11. 11

    Net.WebRequest에 너무 많은 시간이 걸리고 응답을 받기 위해 완료되지 않음

  12. 12

    Twilio를 사용하여 SMS를 보내고 전화에서 응답을 기다렸다가 NodeJS에서 요청을 완료하는 방법

  13. 13

    쿼리 응답 Solr에서 코어 이름 가져 오기

  14. 14

    다른 페이지로 이동하기 전에 리듀서 응답 작업이 완료되었는지 어떻게 확인합니까?

  15. 15

    NestJS-응답에 본문 보내기

  16. 16

    로컬 파일에 응답 보내기

  17. 17

    비동기 응답이 돌아 오기 전에 fsx 스크립트가 완료 됨

  18. 18

    파이썬 : 명령이 완료되기 전에 check_output에서 응답 받기

  19. 19

    AWS Lambda에서 작업이 완료되기 전에 요청에 대한 200 ok 응답

  20. 20

    작업이 완료되기 전에 NodeJS 비동기가 완료 됨

  21. 21

    Firebasequery가 완료되기 전에 Android 비동기 작업이 완료 됨

  22. 22

    완료 전에 완료 처리기 True

  23. 23

    C에서 응답을 기다리지 않고 프로브 요청 보내기

  24. 24

    NSTextView의 다음 응답자에게 명령 바로 가기 보내기

  25. 25

    API 응답으로 보내기 전에 mongodb 레코드 수정

  26. 26

    Android보기가 그리기에 응답하지 않습니다.

  27. 27

    iprocess가 완료되기 전에 대기가 계속됩니다.

  28. 28

    시간 초과가 만료되었습니다. 작업이 완료되기 전에 시간 초과 기간이 경과했거나 서버가 응답하지 않습니다. "

  29. 29

    Express.js의 UInt8Array에서 바이너리 응답 보내기

뜨겁다태그

보관