resque를 통해 들어오는 요청을 처리하기 위해 작동하는 응용 프로그램을 변환하고있었습니다. 작업이 제대로 다시 작성되도록 제출됩니다. 문제는 작업자가 작업을 잡고 실행을 시작할 때 시작됩니다.resque가 레일스 환경을 올바르게로드하지 않습니다.
필드 중 하나를 참조 할 때 내 모델 중 하나에서 오류가 발생했습니다. class 키워드 < ActiveRecord :: Base 호출은 'Keyword.first.rule'이었습니다. "Private 메서드를 호출하려고했습니다"를 반환합니다. 나는 다른 임의의 오류가 전에 제대로 작동하는 데 사용되는 코드를 자르기 시작이 문제를 통과있어 후 내 응용 프로그램
def self.perform(phone_number,message,short_code)
k = Keyword.first
k.rule
Parser.new.parse_request(phone_number,message,short_code)
end
라고하기 전에 내가 작업자에 다음 코드를 추가 할 때 문제가 멀리 갔다
. 예 : casecmp가 올바른 방법이 아닙니다. 레일즈 콘솔에서 같은 메소드를 호출해도 완벽하게 작동하기 때문에 이것이 내 코드에서 문제가되지 않는다고 확신합니다.
이 내 설치 인 - 루비 1.8.7 (2010-01-10 패치 레벨 249) x86_64에 리눅스] - 일품 1.3.5 - 레일 2.3.8 - resque 1.17.1 - 우분투 10.04 0.3 LTS
오류에서 근무
class ProcessMo
@queue = :incoming_messages_queue
def self.perform(phone_number,message,short_code)
Parser.new.parse_request(phone_number,message,short_code)
end
end
resque.rake
require "resque/tasks"
task "resque:setup" => :environment