Resque
1.26.0 (및 Redis-rb
3.3.1)을 사용하여 간단한 작업을 대기열에 넣으려고합니다. resque-web
이 각 작업을 처리 중이며 0 개의 실패를 표시하기 때문에 작업이 perform
기능을 처리하지 않는 것 같습니다. 작업도 즉시 처리됩니다.레일 5 - 큐에 대기중인 작업을 다시 처리하지 않음
require 'resque/tasks'
task "resque:setup" => :environment
는 redis-server
은 다음과 같습니다
일자리는
Resque.enqueue(TestJob, url)
레이크 작업도 설정
class TestJob < ApplicationJob
@queue = :tags_queue
Logger.new("log/resque_worker_QUEUE.log").fatal("thing")
def self.perform(url)
Logger.new("log/resque_worker_QUEUE.log").fatal("other thing")
logger.fatal("more errors please")
myDivideByZeroVar= 1/0
raise "error"
Logger.new("log/resque_worker_QUEUE.log").fatal("other thing")
logger.fatal("more errors please")
end
end
처럼 그 자체가 보이는 작업과 컨트롤러 액션에서 큐에 넣어 달리는.
근로자는 rake resque:work QUEUE=*
으로 시작됩니다. 상세 로깅을 사용하면 아무 것도 유용하지 않습니다.
로그 파일에는 첫 번째 치명적인 오류 문자열 "thing"만 표시됩니다. perform
안에있는 다른 오류는 기록되지 않습니다.
내가 뭘 잘못하고 있니?
웹에서 : 실행중인 근로자는 얼마입니까? 'Resque.enqueue (TestJob, url)'을 실행할 때마다 처리 번호가 증가합니까? – XavM
하나의 작업자가 실행 중입니다. Resque.enqueue가 호출 될 때마다 처리 번호가 증가하지만 즉시 처리됩니다. –
수행 방법의 첫 번째 행에 byebug를 포함 시키려고 했습니까? – XavM