문제

작업 대기열에서 코드는 URL Fetch를 통해 서버 측에 연결하기 위해 실행됩니다. 내 파일 queue.yaml.

queue: 
- Name: default 
   rate: 10 / m 
   bucket_size: 1 

이러한 설정에서 Tusk는 동시에 한 번에 모두 수행했습니다. 특이성은 요청 사이의 특이성입니다 최소 5 초 이상 지연되어야합니다. 작업이> 5 초로 단계에서 수행해야합니다. (하지만 평행하지 않습니다).

queue.yaml에 설정된 값은 무엇입니까?

도움이 되었습니까?

해결책

작업간에 최소 지연을 지정할 수 없습니다 queue.yaml, 현재; 자신의 코드로 (부분적으로) 수행해야합니다. 예를 들어, 버킷 크기 1을 지정하는 경우 (한 번 이상 작업을 한 번에 실행하지 않아야 함) 작업이 5 초 이상 실행되는지 확인하십시오 ( start=time.time() 처음에는, time.sleep(time.time()-(5+start)) 결국) 이것은 작동해야합니다. 그렇지 않은 경우, 매장에서 각 작업 기록을 타임 스탬프를 마치고 시작하면 마지막 작업이 5 초 미만으로 끝났는지 확인 하고이 경우 즉시 종료됩니다.

다른 팁

다른 방법은 작업 데이터를 테이블에 저장하는 것입니다. 작업 큐에서 ID 매개 변수를 추가하십시오. 테이블에서 첫 번째 작업을 가져 와서 ID를 작업 대기열 처리 서플렛으로 전달하십시오. 5 초 동안 종료 지연과 다음 작업의 서블릿에서 ID를 통과하고 ....

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top