2010-06-10 2 views
9

Delayed :: Job (또는 제 문제에 더 적합한 작업 큐)을 사용하여 여러 백그라운드 데몬으로 작업을 보내고 싶습니다.Delayed :: Job을 사용하여 여러 작업 큐를 관리하십시오.

다른 책임을 수행하는 여러 배경 데몬이 있습니다. 각각은 Rails 응용 프로그램의 대기열에있는 다른 작업에 관심이 있습니다. Delayed :: Job을 사용하여이 작업을 수행 할 수 있습니까? 아니면이 작업에 더 적합한 다른 작업 대기열이있을 수 있습니까?

답변

0

DJ 직원들이 대기열에서 첫 번째 작업을 잡아 먹습니다 (단 하나만있을뿐). 각 근로자는 다른 근로자와 같습니다. 여러 작업자를 실행할 수 있지만 모두 동일한 대기열에서 작동합니다. 당신이 지연된 작업을 좋아하는 경우에

작업자 그래서 당신이를 편집하고 만들 수는

class Job < ActiveRecord::Base 
    MAX_ATTEMPTS = 25 
    MAX_RUN_TIME = 4.hours 
    set_table_name :delayed_jobs 

에서 테이블 이름이야됩니다

6

, 큐 당 하나를 여러 테이블을 만들 정도로 간단 할 것 테이블 당 하나의 마이그레이션. 그리고 작업을 시작하면 대기열 당 하나의 작업자가 시작됩니다.

출처 : http://github.com/tobi/delayed_job

4

Resque 여러 대기열을 지원하는 작업 큐 라이브러리입니다.

1

대답은 여기에 있습니다 :

Delayed_job - Multiple parallel queues?

사용 delayed_job에 -i 옵션 (보다는 다수의 근로자를 산란에 사용되는 -n 옵션) 각 작업에 대한 고유 ID를 설정합니다.

관련 문제