2011-10-01 3 views
0

나는 여러 개의 프로세스를 의미하는 것이 아니라 인스턴스를 분리하는 것을 의미합니다. 나는 생각한다. 나는 이것에 대해 잘못된 길을 가고있다.레일스에서 ​​DelayedJob의 여러 인스턴스를 실행할 수있는 방법이 있습니까?

지금 당장 dj는 내 응용 프로그램에서 보고서 및 이미지 처리/업로드의 두 가지를 처리합니다. 문제는 사람들이 원할 때마다 보고서 작업을 한꺼번에 만들 수 있으며 모든 보고서가 실행될 때까지 이미지를 처리 ​​할 프로세스가 남아 있지 않다는 것입니다.

나는 항상 적어도 하나의 특정 기능을 가진 proc를 가질 수 있도록 DelayedJob을 설정할 수 있습니까?

이것은 collectiveidea의 Rails 2.3.8에서 실행되는 DelayedJob 포크입니다.

답변

2

지연된 작업에 우선 순위를 설정하여 문제를 해결할 수 있습니다. 보고 작업을 이미지 처리보다 낮은 우선 순위로 설정하면 처리 할 이미지가없는 경우에만 작업이 완료됩니다. 우선 순위와 handle_asynchronously를 사용

readme에 포함되어 있지만 구문은 기본적으로 : 기본 모든으로

handle_asynchronously :my_method, :priority => 5 

가 가장 높은 우선 순위 인 우선 순위 제로이다.

1

DelayedJob 3.0.0pre는 명명 된 대기열을 지원하므로 다른 대기열을 통해 들어오는 작업에 대한 작업자 풀을 가질 수 있습니다.

관련 문제