복붙노트

[REDIS] 어떻게 부팅시 자동으로 구조 노동자를 만들려면 어떻게해야합니까?

REDIS

어떻게 부팅시 자동으로 구조 노동자를 만들려면 어떻게해야합니까?

좋아, 내가 처음 루비 응용 프로그램을 만들고있어. 누가 그렇게 복잡 fugging되는 '생산'을 통해 모든 이동 알고있다. 지금까지 나는 그 시작에서 실행 레디 스를 받고, 그 시작에서 실행지고, 승객 구성을 통해 내 방식대로 싸워 왔어.

내 마지막 작업은 1 명 근로자를 추가하는 시작에 있습니다. 지금, 나는에 ssh를해야하고 내 레이크 명령 레이크 근로자를 실행 : 시작. 나는 가까운 SSH를 할 때 분명히 이것은 내가 정말 다음 단계는 어떻게 또는 무엇을 잘 모릅니다 .. 좋지 않습니다.

나는 config.ru에 resque 기본 설정을 복사 시도하고 그냥 오류가 승객을 불면. 나는 또한 어떤 사람들은 언급 resque 풀로 보았다하지만 내 머리입니다.

내가 할 일은 부팅시 한 노동자를 추가합니다. 응용 프로그램의 심각한 그렇게 간단하게이 시점에서 최선을 다 할 것이라고이 밤은.

해결법

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

    1.생산에서 당신은 당신의 프로세스를보고 하나님을 이용해야한다. 이 프로젝트는 작은 한 경우에도, 난 강력하게 당신의 시간을 투자하고 그것을 설정하는 것이 좋습니다.

    생산에서 당신은 당신의 프로세스를보고 하나님을 이용해야한다. 이 프로젝트는 작은 한 경우에도, 난 강력하게 당신의 시간을 투자하고 그것을 설정하는 것이 좋습니다.

    또 다른 큰의 필수는 카피 스트라 노입니다.

    당신이 하나님을 사용하고 경우에 따라서, 당신을하는 데 유용한 설정 파일입니다.

    또한 일정 레이크 resque을 시도 할 수 있습니다 : 작업을 시스템 시작시에서는 /etc/init.d/에 적절한 스크립트를 사용하여 또는 / etc / 초기화 / 또는 다른 (당신이 사용하는 어떤 시스템에 따라 다름). 나는 몇 시간 전에이 시도 내가 (왜 기억하지 않는다) 포기했다.

    나는이 내 대답은 당신이 지금 찾고있는 정확하게 아니라는 것을 이해합니다. 그러나이 상상 : 모든 것이 다음 다음 버전을 배포, 설정되어있는 경우 개발 시스템에 레이크 배포를 실행하는 것만 큼 쉽습니다. 그리고, 저장소에서 코드를 당겨 마이그레이션을 실행, 노동자와 웹 서버와 무엇을하지 다시 시작 처리됩니다.

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

    2.나는 개인적으로 표준 리눅스 (우분투) 도구가 핸들 정말 편안 해요 아주가 도입 설치의 복잡성으로 대파 한 프로젝트, (2)를 보았다 (1) 때문에 나는 신 보석을 사용하지 않는 이런 종류의 일.

    나는 개인적으로 표준 리눅스 (우분투) 도구가 핸들 정말 편안 해요 아주가 도입 설치의 복잡성으로 대파 한 프로젝트, (2)를 보았다 (1) 때문에 나는 신 보석을 사용하지 않는 이런 종류의 일.

    부팅에 Resque 근로자를 시작하려면

    내 /etc/rc.local에 파일에이 코드가 있습니다. 나는 시스템에 배포 사용자가 :

    # Start Resque
    su -l deploy -c "/home/deploy/start-resque-workers"
    su -l deploy -c "/home/deploy/start-resque-webui"
    

    그런 다음, 그 스크립트에서 나는 루비 환경을 설정하고 레이크 작업을 실행 :

    # Load RVM into a shell session *as a function*
    if [[ -s "$HOME/.rvm/scripts/rvm" ]] ; then
      # First try to load from a user install
      source "$HOME/.rvm/scripts/rvm"
    elif [[ -s "/usr/local/rvm/scripts/rvm" ]] ; then
      # Then try to load from a root install
      source "/usr/local/rvm/scripts/rvm"
    else
      printf "ERROR: An RVM installation was not found.\n"
    fi
    
    # Use rvm to switch to the default ruby. 
    rvm use default
    
    # Now launch the app
    cd /home/deploy/app-name-here/current
    nohup rake QUEUE=* RAILS_ENV=production environment resque:work &
    

    나는 몇 년 동안 설정의이 종류를 사용하고, 그것은 고체입니다. 서버는 충돌하지 않습니다. 아직이 다른 서버를 통해보고 (신 보석 같은) 다른 시스템을 설치하는 오버 헤드가 필요하지 않습니다.

    또한, 나는 배포에 노동자를 다시 처리하는 카피 스트라 노의 보석을 사용합니다.

  3. from https://stackoverflow.com/questions/8697561/how-do-i-create-a-resque-worker-automatically-at-bootup by cc-by-sa and MIT license