사용자 업로드를 허용하고 처리를 수행 한 다음 그 결과를 반환하는 컴퓨터가 있습니다. 받은 각 업로드를 처리하는 데 일반적으로 몇 분이 걸립니다.공정한 작업 처리 알고리즘
일부 사용자는 기본적으로 다른 사용자에게 오랫동안 처리를 거부하는 많은 작업을 업로드 할 수 있습니다. 하드 캡을 설정하고 우선 순위 대기열을 사용하는 것으로 생각했습니다. 1 시간에 5 번 업로드 한 후 모든 새 업로드의 처리 우선 순위가 낮아집니다. 나는 기본적으로 모든 작업을 처리하고 싶지만 1000 명의 작업을 업로드 한 사용자가 모두 기다리게하지 않으려 고합니다.
제 질문은, 더 좋은 방법이 있습니까?
내 목표는 업로드와 결과가 반환되는 시간을 최소화하는 것입니다. 알고리즘이 분산 된 방식으로 작동 할 수 있다면 이상적입니다. 과정에서 치명적인 오류가있을 가능성이 얼마나되는지로
감사
나에게 합리적인 해결책처럼 보입니다. – Patrick87
사용자는 좋아하는 목록에 사용자를 저장해야합니다. 그러면 처음으로 얻은 사용자는 먼저 주먹구구 식 작업을 먼저 마칠 수 있습니다. 사용자 작업이 끝나면 작업 목록에서 제거하거나 줄 끝에서 사용자를 지정하십시오. –
좋은 제안 ralu. 다시 이것은 OPs 실제 상황의 자세한 특성에 의존하는 것입니다. 처리량이 주요 관심사 일 수 있으며이 경우 추가 처리를 원하지 않을 수 있습니다. 그러나 그것은 공정성을위한 좋은 특징이 될 것입니다. – gnomed