在控制器操作中,我有以下代码:
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 目录中。如何正确运行?
谢谢。
答案 0 :(得分:1)
听起来你只需要在第一行的 ImportJob 对象实例上调用.perform
:
ImportJob.new("pah_to_file").perform
这就是延迟作业在内部运行的方式......基本上,延迟作业可以是响应.perform
的任何对象,然后在运行作业时通过调用.perform
开始。