Я изо всех сил, чтобы отправить код, приведенный ниже в качестве фонового задания, в то время как врезаться в одну или другую ошибку во времени времени,Rescue - NoMethodError - неопределенная журнал метод brassring класса
мое приложение/рабочие/brassring .rb является
require File.dirname(__FILE__)+"/base_parser"
class Brassring < BaseParser
@queue = :Brassring_queue
def self.perform(page)
super page
.............
end
site_done
rescue Exception => e
def self.perform
log "error: #{e}"
end
end
end
и мое приложение/рабочие/base_parser.rb является
#require 'rubygems'
require 'mechanize'
require 'mechanize/form'
class BaseParser
def initialize(site)
......
end
def add_fields_to_form(form, fields)
.....
end
def run
.................
end
def html2text(data)
......
end
def save_result_page(url, result_params)
............
end
def get_fields_from_page(page)
.......
end
def set_site_status(status)
........
end
def update_run_counter
.......
end
def site_done
......
end
def log(what)
.....
end
def utf8(untrusted_string)
.......
end
Я очередями это с помощью метода Rescue_enqueue в моем Lib/brassring.rb, как
Resque.enqueue(Brassring,@site_id)
при попытке выполнить задание, используя грабли Resque: работа ОЧЕРЕДЬ = * Это терпит неудачу на в моей спасательной панели управления
NoMethodError Ошибка: не определен метод log' for Brassring:Class /home/my/to/sorc/app/workers/brassring.rb:39:in
спасение в Perform» /дома /my/to/sorc/app/workers/brassring.rb:5:in `выполнить '
или что мне делать, чтобы заставить его работать.
Заранее спасибо
Вы не указали строку 39 из /app/workers/brassring.rb:39 в своем коде, добавьте ее. – TomDunning
также, кажется, у вас есть два метода 'self.perform' в brassring.rb – TomDunning
log" error: # {e} "это строка 39, так как это мой первый вопрос в переполнении стека. Я не знаю, как добавить номера строк:) –