延迟工作一直抱怨零

时间:2012-10-11 18:39:02

标签: ruby-on-rails ruby-on-rails-3 delayed-job

我已经成功设置了许多工作,但是这个工作只是让我失望。无论我做什么,它都会抱怨为零。

以下是我收到的当前错误消息:

  

当你没想到它时,你有一个零对象!你可能有   期待一个Array的实例。评估时发生错误   nil.each   /Users/aressidi/Projects/XXXXX/lib/contextual_content_job.rb:3:in   `perform'/Users/aressidi/.rvm/gems/ru

以下是相关文件:

contextual_content_job.rb

class ContextualContentJob < Struct.new(:keywords, :contextual_content_id, :category_name) 
  def perform
    keywords.each { |e| Keyword.associate_foods(e, contextual_content_id, category_name) }
  end
end

调用它的控制器(简化为仅显示关键部分)

  def create
    @keywords = Keyword.parse_keywords(params[:keyword][:keyword])
    @keywords = @keywords.collect {|k, v| v}
    RAILS_DEFAULT_LOGGER.error("Here are the keywords: #{@keywords.inspect}")
    RAILS_DEFAULT_LOGGER.error("The content ID: #{@contextual_content.id}")
    RAILS_DEFAULT_LOGGER.error("The contextual content category: #{@contextual_content.contextual_content_category.name}")
    Delayed::Job.enqueue(ContextualContentJob.new(@keywords, @contextual_content.id, @contextual_content.contextual_content_category.name), 3)
  end

这是我的日志文件中的输出。有什么我在做的那显然是错的吗?我正在传递一系列关键字,我认为这是抱怨的问题。关键字是它所说的为null,但我已经将它们打印在日志中,它们显然不是零。这是我日志中的输出。有任何想法吗?

  

以下是关键字:[“ritz”,“salteen”]内容ID:111
  ContextualContentCategory加载(0.3ms)SELECT   contextual_content_categories。* FROM contextual_content_categories   WHERE contextual_content_categoriesid = 1 LIMIT 1上下文   内容类别:提示SQL(0.1ms)BEGIN AREL(0.2ms)INSERT INTO   delayed_jobslast_errorqueuerun_atlocked_at,   priorityattemptshandlerfailed_atupdated_at,   created_atlocked_by)VALUES(NULL,NULL,'2012-10-11 18:34:47',   NULL,3,0,'---!ruby / object:ContextualContentJob {}',NULL,   '2012-10-11 18:34:47','2012-10-11 18:34:47',NULL)SQL(0.2ms)   COMMIT重定向到   http://XXXX.dev/admin/contextual_contents已完成302   发现于56ms

0 个答案:

没有答案