Rails - 目录“/ lib”中的方法不会运行

时间:2014-08-15 11:03:52

标签: ruby-on-rails ruby methods

在控制器操作中,我有以下代码:

  def import
    ImportJob.new("pah_to_file") # this doesn't work
    Delayed::Job.enqueue ImportJob.new("path_to_file") # this works
  end

当我运行此操作时,第一行不起作用,第二行不起作用(任务被添加到Delayed_job队列并被处理)。

我需要删除delayed_job并希望将 ImportJob 作为“常规”方法运行,但是当我这样做时(如第一行所示),该方法不会被调用。 / p>

ImportJob 方法位于 / lib 目录中。如何正确运行?

谢谢。

1 个答案:

答案 0 :(得分:1)

听起来你只需要在第一行的 ImportJob 对象实例上调用.perform

ImportJob.new("pah_to_file").perform

这就是延迟作业在内部运行的方式......基本上,延迟作业可以是响应.perform的任何对象,然后在运行作业时通过调用.perform开始。