그것은 사용자 정의 작업 클래스 파일을로드 문제가 될 수 있습니다. 이를 테스트하려면 다음을 시도하십시오.
- 콘솔
rails console --sandbox
을 입력하십시오.
job = Delayed::Job.first
테이블에 직업이 있는지 확인하십시오.
- 시도
YAML.load(job.handler)
. ArgumentError: undefined class/module MyCustomClass
과 같은 오류가 발생하는 경우 사용자 정의 작업을로드하는 데 문제가있을 수 있습니다.
- 여전히 레일 콘솔에있는
require 'My_Custom_Class
을 실행하십시오. 그런 다음 YAML.load(job.handler)
명령을 다시 실행하십시오. 이 객체가 적절한 객체를 반환하면 확실히 클래스 로딩 문제가됩니다.
문제를 해결하려면 config/initializers/custom.rb
파일을 만들고 require 'My_Custom_Class'
을 입력하십시오.
[Worker(host:my.host pid:5085)] Starting job worker
[Worker(host:my.host pid:5085)] MyCustomJob completed after 0.0774
[Worker(host:my.host pid:5085)] 1 jobs processed at 9.1935 j/s, 0 failed ...
[Worker(host:my.host pid:5085)] No more jobs available. Exiting
'RAILS_ENV = 개발 스크립트/delayed_job의 status'의 결과가 무엇 : 당신은 다음과 같습니다 뭔가를
rake jobs::workoff
을 실행하고 얻을 수 있어야? – Ernest
데몬 보석없이 실행 해 보셨습니까? – Ernest
Gemfile.lock은 데몬이 필수 종속성임을 명시하지만 명시 적으로 사용을 제거하고 시도해 보겠습니다. 필자가 그랬던 이유는 시스템에 데몬 1.1.4가 있었기 때문에 Daemonize가 특정 버전 (데몬 용 1.0.10을 사용하는 많은 StackOverflow 제안을 사용)을 사용하도록 시도했기 때문입니다. – Aditya