Вызов методов Sidekiq в файлах библиотеки - PullRequest
0 голосов
/ 20 апреля 2020

Я новичок в Sidekiq. Я протестировал очень простой пример c, и он работает нормально. Теперь внутри моей работы я бы хотел вызвать метод, который находится в библиотеке в моей папке lib, но я получаю некоторые ошибки, связанные с путями.

Сначала я определяю файлы и структуру:

  1. Я создал работника в my-project / app / worker / hard-worker.rb

require 'sidekiq'

Sidekiq.configure_client do |config|
    config.redis = {db:1}
end 

Sidekiq.configure_server do |config|
    config.redis = {db:1}
end 


class HardWorker
  include Sidekiq::Worker

  def perform()
    puts "Initializing availabilities integration..."
    CustomService.getAvailabilities
  end
end

Этот метод CustomService.getAvailabilities находится в my-project/lib/custom_service.rb

Этот custom_service.rb требует некоторых других файлов:

require 'photo_service'
require 'open-uri'
require 'RMagick'
require 'boat_utils_service'


class MMKService  

def self.getAvailabilities()
 do whatever
end
end

Суть в том, что эта библиотека вызывается и в настоящее время работает с помощью пользовательского интерфейса в нашем веб-приложении. GUI, поэтому следует использовать как из GUI, так и из фоновых заданий.

Я запускаю работника следующим образом: bundle exec sidekiq -r ./hard_worker.rb

Проблема заключается в том, что когда я запускаю рабочее задание: 1. Я получаю сообщение об ошибке до тех пор, пока мне не понадобится библиотека вроде: require '../. ./lib/custom_service.rb '2. Я получаю сообщение об ошибке в файле custom_service.rb с необходимыми библиотеками. `require ': невозможно загрузить такой файл - photo_service (LoadError)

Чего мне не хватает? Нужно ли мне обновлять все мои требуемые пути?

...