0

RubyonRails로 작성된 웹 서버가있는 프로젝트에서 작업하고 있습니다. 다른 사람이이 프로젝트의 코드를 시작했고 모든 코드가 있습니다. 이 서버는 delayed_job을 사용했습니다. 프로덕션 서버는 문제없이 잘 실행 중입니다. 그러나 로컬 서버에서 실행하려면 delayed_job 작업을 실행하지 마십시오. 예를 들어 rake 작업을 실행할 때 오류가 발생하지 않습니다. 로컬 서버에서 작업하고 작업을 제출하면 결과는 다음과 같습니다.RubyOnRails delayed_job이 로컬 서버에서 작동하지 않습니다.

[작업자 (호스트 : ardrossan pid : 20474)] 작업 시작 작업자

[작업자 (주최 : ardrossan PID : 20,474)] 업무 지연 :: PerformableMethod (ID = 2) RUNNING

[작업자 (주최 : ardrossan PID : 20,474)] 1 작업 17.9446 J에서 처리/s , 0 실패했습니다

그러나 결과가 생성되지 않습니다. 로컬 서버에서 delayed_jobs 작업을 수행하는 방법에 대한 조언을 주시면 감사하겠습니다.

나는, '3.2.17'을 '레일'를 사용하여 내 OS하고 언급해야 우분투 12.04.4 LTS

답변

0

당신이 감독을 사용하여 로컬 배경 노동자를 시작할 생각입니다. 다음은 내 Mac에서 작동했습니다. Heroku가 워드 프로세서에서

:

worker: bundle exec rake jobs:work 

시작 지금 때 당신은 다음 작업이 작업 큐에 넣어 처리하는 응용 프로그램을 알려줄 필요가

, 당신은 당신의 Procfile이를 추가하여 그렇게 할 수 있습니다 Foreman을 사용하는 응용 프로그램은 작업 큐 처리를 시작합니다.

foreman start 

Mac에서 배포하지 않는 한 로컬로 실행되는지는 중요하지 않습니다. (내가 작업 한 후에 이것을 알아 차렸다.) 서버에서 작동하는 경우에만 중요합니다. Heroku에서 배포하는 경우 지연된 작업이 잘 작동합니다.

참조 : 당신이 스스로 자신의 행동을 유발하는 모든 노동자를 가지고 있지 않기 때문에

https://devcenter.heroku.com/articles/delayed-job https://devcenter.heroku.com/articles/procfile http://blog.daviddollar.org/2011/05/06/introducing-foreman.html
https://github.com/ddollar/foreman

0

알면 자신에 의해 시작해야합니다.

관련 문제