1

현재 site5 서버를 사용 중입니다. rake jobs:work 거의 항상 실행되고 있습니다. 서버에 로그인하지 않으면 현재 작업을 보낼 수 없습니다. 나는 누군가가 저를 도울 수 있기를 바랍니다. ar_mailerwhenever gem ...으로 문제가 많았지 만, 내 5 개의 앱에서 완벽하게 작동하는 또 다른 5 개의 보석이 있습니다.Delayed_Job - 사이트 5 서버

누군가가 해결책을 알려 주실 수 있습니까? 크게 감사드립니다. (delayed_job을 플러그인으로 설치 함)

답변

1

확인, 내가 할 수있는 최선의하지만 내가 CRON 작업의 사용과 사용자 정의 스크립트/jobrunner 파일을 만든 ... 어느 정도 작동합니다.

나는 내가 그것을 그 파일을 실행했다 cron 작업에 그런 다음

#!/usr/bin/env ruby 
require File.dirname(__FILE__) + '/../config/environment' 
Delayed::Worker.new.start 

을 포함 script/jobrunner에있는 jobrunner 스크립트를 만들었습니다.

크론 보고서에서 나는 여전히 몇 가지 오류가 발생하지만 작업이 실행되고 나는 그것에 만족합니다!

예를 들어 cron 작업은 매시간 50 분마다 실행되며 테이블의 모든 delayed_job을 처리하고 처리합니다. 이것은 내 문제에서 발견 된 차선책입니다. 미래에 누군가를 도울 수 있기를 바랍니다.

일일/주간 작업을 위해 어떤 다른 스크립트를 만들 수 있는지 알아볼 예정입니다.

1

capistrano를 사용하는 경우 앱을 배포 할 때 delayed_job을 시작하십시오. 이것을 배치 레시피 파일에 추가하십시오. 나는이에 대한 해결 방법이

require 'delayed/recipes' 
after "deploy:stop",  "delayed_job:stop" 
after "deploy:start",  "delayed_job:start" 
after "deploy:update_code", "delayed_job:stop" 
after "deploy:restart",  "delayed_job:start" 
+0

불행히도 capistrano를 사용하지 않습니다. 그리고 script/delayed_job start 또는 script/delayed_job restart를 실행하면 오류가 발생하지만 작업자는 백그라운드에서 실행되지 않습니다. 나는 아직도 내가 뭔가를 놓친다는 느낌이 들었다. 또한 스크립트/delayed_job을 실행하면 "초기화되지 않은 상수 인 지연 :: 백엔드 :: ActiveRecord :: 기본"이 나타납니다. 누락 된 뭔가 간단해야합니다. 시도해 주셔서 감사합니다. –

+0

http://github.com/collectiveidea/delayed_job 포크를 사용해보십시오. 더욱 강력 해지기 위해서는 무겁고 적극적인 개발이 필요합니다. –

+0

다시 한번 감사드립니다. 조나단, 저는 정확한 이유 때문에 tobi one이 아닌 이것을 사용하고 있습니다. 그것은 delayed_job을 처리하고 그것을 테이블에 넣습니다, 제가 가진 유일한 문제는 "rake jobs : work"를 계속 호출하지 않고도 항상 작업자를 실행시키고 싶다는 것입니다. config initializer에서 지연을 설정할 수 있습니다. cron 작업을 설정하는 경우에도 작동하지 않으려는 이유가 있습니다. ( –

1

지연된 작업에는 백그라운드에서 시작하고 log/delayed_job.log에 로깅하는 스크립트가 있습니다. 다음과 같이 개발 모드에서 실행되는 daemonized delayed_job을 시작할 수 있습니다.

RAILS_ENV=development script/delayed_job start 
관련 문제