복붙노트

[REDIS] beanstalkd 대 resque 대 delayed_jobs?

REDIS

beanstalkd 대 resque 대 delayed_jobs?

여기 내 요구 사항은 다음과 같습니다

Resque 및 beanstalkd는 enqueue_in하지 않습니다.

이 그것을 수행하는 플러그인 (resque_scheduler)입니다,하지만 난 확실히 그것이 얼마나 안정 아니에요.

우리의 환경은 아마존에, 그들은 우리에게 플러스입니다, 아마존 인스턴스 할 수있는 사람을 위해 무료로 beanstalkd을 출시하지만, 나는 확실히 최선의 선택은 여기에 무엇인지 아직 모르겠어요.

우리는 레일 2.3을 실행하지만 우리는 곧 레일 3.0.3에 속도를 가져오고 있습니다.

하지만 내 최선의 선택은 여기에 무엇입니까? 더 나은이 일을 다른 보석 실종?

사실 지금 작동 resque_scheduler 내 유일한 옵션을 느낍니다.

편집하다:

Sidekiq (https://github.com/mperham/sidekiq) 당신이 그것을 체크 아웃해야 또 다른 옵션입니다.

해결법

  1. ==============================

    1.내 프로젝트를 위해 나는 매우 comfortbale와 collectiveidea / delayed_job에서 rails2 3 느낄 것이다. 나는 beanstalkd 모르겠지만, 난 곧 그것을 시도 할 것이다 :-). 나는 resque 설명서의 제안을 따랐다. 나는 그것을보고합니다.

    내 프로젝트를 위해 나는 매우 comfortbale와 collectiveidea / delayed_job에서 rails2 3 느낄 것이다. 나는 beanstalkd 모르겠지만, 난 곧 그것을 시도 할 것이다 :-). 나는 resque 설명서의 제안을 따랐다. 나는 그것을보고합니다.

    Resque vs DelayedJob
    

    어떻게 Resque는 DelayedJob 비교 않으며, 당신은 왜 다른 통해 하나를 선택할 것인가?

    당신이 레일 개발을하고 있다면, 당신은 이미 데이터베이스와 액티브 있습니다. DelayedJob는 설정에 매우 용이하고 잘 작동합니다. GitHub의 거의 2 억 작업을 처리하기 위해 몇 달 동안 그것을 사용.

    Resque을 경우 선택 :

    DelayedJob을 경우 선택 :

    Beanstalkd을 경우 선택 :

    어떠한 방식으로 구조는 "더 나은"지연된 작업은, 그래서 당신이 앱 최선의 도구를 선택합니다.

    대기 백엔드 속도의 좋은 비교 :

                     enqueue                work
    -------------------------------------------------
    delayed job |   200 jobs/sec     120 jobs/sec
    resque      |  3800 jobs/sec     300 jobs/sec
    rabbitmq    |  2500 jobs/sec    1300 jobs/sec
    beanstalk   |  9000 jobs/sec    5200 jobs/sec
    

    좋은 하루 되세요!

    추신 작업 (개정판) 및 Beanstakld 지연 resque에 대한 RailsCast가있다. 보라!

    P.P.S. 내가 가장 좋아하는 choiche이 Sidekiq 지금 (매우 간단하고, 빠르고 간단한 작업에 대한 효율적인), 비교를 위해이 페이지를 보라.

  2. ==============================

    2.아마존 콩 줄기는 Beanstalkd 없습니다.

    아마존 콩 줄기는 Beanstalkd 없습니다.

    Beanstalkd - 큐는 - 초 주어진 숫자가 지날 때까지 큐 밖으로 예약되지 않습니다 지연 직업을 가지고있다. 그 Enqueue_in (10.hours, ...) 수단, 그때는 그때까지 작업이 가능하도록 초 수를 계산, 그리고 그냥 문법 설탕이 무엇 인 경우.

  3. ==============================

    3.그냥 작은 노트 : delayed_job 3.0 이상 지원라는 이름의 큐

    그냥 작은 노트 : delayed_job 3.0 이상 지원라는 이름의 큐

    object.delay(:queue => 'tracking').method    
    Delayed::Job.enqueue job, :queue => 'tracking'    
    handle_asynchronously :tweet_later, :queue => 'tweets'
    
  4. from https://stackoverflow.com/questions/4808351/delayed-jobs-vs-resque-vs-beanstalkd by cc-by-sa and MIT license