예를 들어 x, y, z 함수를 실행하는 프로그램이 있습니다. 함수의 실행 시간이 다음과 같다고 가정 해 보겠습니다.
x -> 5 seconds
y -> 15 minutes
z -> 2 minutes
그래서 저는 y가 실행될 때 y에 대한 다른 작업을 받으면 y를 다시 실행하기 시작하는 문제에 직면 해 있습니다. 그래서 저는 2 개의 y를 동시에 실행할 것입니다.
내가 달성하려는 것은 무엇입니까? Y는 한 번에 한 번만 실행됩니다. 첫 번째 Y 실행이 완료되면 두 번째 Y가 실행되기 시작할 수 있습니다.
해결책을 찾아 보았고 내가 찾은 것은 한 번에 하나의 작업 (x / y / z)을 실행할 수있는 문서 였지만 모든 작업이 정상적으로 실행되기를 원합니다. 첫 번째 인스턴스가 실행을 마칠 때까지 기다리려면 두 번째 인스턴스가 필요합니다.
따라서 다음과 같은 대기열이 필요합니다. (작동 중)
X
Y -> Y
Z
내가 찾은 해결책은 다음과 같습니다.
X-> Y-> Z -> Y, which is only one task at a time, doesn't matter which function.
내가 찾고있는 것이 아닙니다.
질문이 명확하지 않은 경우 알려주십시오.
감사합니다.
예, 가능 하며 Celery 문서의 "Task Cookbook"부분의 한 번에 하나씩 만 작업이 실행되도록하기 섹션에 설명되어 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다