【问题标题】:Delayed job, undefined method `taskmy' for class `Batch延迟作业,类“批处理”的未定义方法“taskmy”
【发布时间】:2017-11-08 12:22:19
【问题描述】:

我正在尝试使用delayed_job 在后台运行一些代码并立即给用户一些响应。

class Batch

  def self.taskmy
    # some very long task
  end
  def taskmy
      self.taskmy
  end
  handle_asynchronously :taskmy
end

我的控制器操作如下所示

def send_command
    count = 0
    count2 = 0
    Batch.delay.taskmy
    puts count
    puts count2
end

但我得到一个错误

ActiveRecord::ConnectionNotEstablished: 没有id为primary的连接池> >找到

我是从

开始的
rake jobs:work

【问题讨论】:

  • 你重启了delayed_job worker吗?
  • 我该怎么做?我是否也必须每次在生产中都这样做?
  • 你不是在运行像rake jobs:work 这样的工人吗?那你从哪里得到错误?
  • 我只是在方法名前调用延迟。
  • 您在哪一行得到错误?尝试重新启动您的服务器..

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


【解决方案1】:

我在 mongodb 中使用了活动记录 gem。 我在我的 gemfile 中包含以下内容并重新启动了工作。 gem 'delayed_job_mongoid'

【讨论】:

    猜你喜欢
    • 2011-03-12
    • 2011-12-02
    • 2016-08-18
    • 2011-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-30
    • 1970-01-01
    相关资源
    最近更新 更多