1
我正在嘗試使用Resque
1.26.0(和Redis-rb
3.3.1)排隊一個簡單的作業。該作業似乎沒有處理perform
功能,因爲resque-web
正在處理每個作業並顯示0個故障。這些工作也正在被即時處理。Rails 5 - Resque未處理入隊作業
的作業從控制器操作排隊,以
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任務還設置:
require 'resque/tasks'
task "resque:setup" => :environment
的redis-server
是運行。
工人以rake resque:work QUEUE=*
開始。使用詳細日誌記錄不會顯示任何有用的信息。
日誌文件只顯示第一個致命錯誤字符串「thing」。沒有其他錯誤記錄在perform
之內。
我在這裏做錯了什麼?
在resque網站:你有多少員工?每次運行'Resque.enqueue(TestJob,url)'時,處理編號是否會增加? – XavM
有一名工人在跑步。每次調用Resque.enqueue時,處理編號都會增加,但會立即進行處理。 –
您是否嘗試在執行方法的第一行中包含byebug? – XavM