如何在sidekiq worker class

时间:2017-05-27 18:03:03

标签: ruby-on-rails ruby sidekiq

我正在尝试调用我在rails 4项目中的实用程序模块中的方法。我在整个rails项目中使用模块进行一些主动记录行为,我最近在项目中添加了sidekiq以便每天执行一些客户分析,但我似乎无法让sidekiq工作者完全包含该模块。

这是我在工作文件中的内容:

require '../lib/utils/customer_utils.rb'

实用程序文件的位置在:

lib/utility  

模块的编写方式如下:

module CusomterUtils

def get_average_spend
..
end
...

关于我应该做什么的任何想法?

由于

1 个答案:

答案 0 :(得分:2)

我建议关注Rails autoloading convention names,因此其中任何一个都应该有效:

# lib/utils/customer_utils.rb
module Utils
  class CustomerUtils
    ...
  end
end

# lib/customer_utils.rb
class CustomerUtils
  ...
end

通常,文件夹名称是名称空间,文件名是类名。

请注意,命名约定在Rails版本上发生了更改,因此如果没有特定的配置选项,lib可能无法自动加载。

您也可以使用require_relative '../lib/utils/customer_utils.rb'