2016-10-07 4 views
1

일부 장기 실행 작업을 수행하기 위해 Google 클라우드 작업 대기열을 사용하고 있습니다. 모든 작업이 완료되면 알림을 보내려고합니다.작업 대기열 완료 콜백

나는

QueueStatistics 통계 = taskQueue.fetchStatistics() 내 스레드에서 대기중인 작업의 번호를 코드 아래 사용하고 있습니다; stats.getNumTasks();

하지만 여기서는 getNumTask() 메소드를 사용하여 값을 계속 확인하고 있습니다. 0 일 경우 다른 사용자에게 알립니다. 대기열의 모든 작업이 완료되면 알려줄 수있는 콜백이 있습니까? 작업을 실행하도록

감사합니다,

+0

으로 전화 하시겠습니까? 작업은 전자 메일 메시지를 보내거나 채널을 사용하여 메시지를 보낼 수 있습니다. – voscausa

답변

0

동시에 작업을 실행하는 응용 프로그램에 대한 필수가 아닌 경우는, 당신은 설정 최대 동시-요청과 큐 1로 설정할 수 있습니다 하나 하나 :

<queue-entries> 
    <queue> 
    <name>my-queue</name> 
    <rate>1/s</rate> 
    <max-concurrent-requests>1</max-concurrent-requests> 
    </queue> 
</queue-entries> 

그런 다음 대기열의 모든 작업을 밀어 넣은 후 알림 작업을 동일한 대기열로 푸시합니다. 알림 작업은 대기열의 마지막 작업이며 모든 작업이 완료되면 실행됩니다.

참고 : 작업 중 하나가 실패하면 자동 재시도에주의하십시오. 알림 작업이 대기열의 마지막 작업이 아닙니다. 어쩌면 실패하면 큐를 제거한 다음 다시 시도 할 수 있습니다.