Я новичок в Сидеки. Я пытаюсь запустить базовый пример c, встроенный в мое веб-приложение. Итак, на данный момент:
- У меня есть прослушивание Redis.
Я создал работника в /my-project-root/app/workers/hard_worker.rb как this:
require 'sidekiq'
require 'utils_service.rb' # External service in lib folder with the process functionality
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()
logger.debug "Initializing integration..."
doWhatever()
end
end
Из моего веб-приложения пользователь может отправить запрос контроллеру для запуска метода, который должен создать задание, например:
Контроллер:
def manageWorker
logger.debug "manageWorker-->before calling HardWorker."
HardWorker.perform_async()
logger.debug "manageWorker-->after calling HardWorker."
end
У меня запущено и работает мое веб-приложение в веб-сокете (я просто говорю это, потому что я не знаю, важно ли или нет найти причину проблемы).
Я запускаю сервер sidekiq с:
cd / my-project- root
bundle exe c sidekiq -d -L log / sidekiq.log
Сервер отправляет некоторые журналы запуска в файл журнала. Однако когда я отправляю запрос контроллеру, я вижу, что функция была запущена. В моем файле журнала веб-приложения я вижу:
manageWorker-->before calling HardWorker.
manageWorker-->after calling HardWorker.
Итак, как видно, задание выполнено. Однако ничего не происходит. Я не вижу никаких журналов в файле журнала sidekiq.
Что мне не хватает?
Я просто хотел указать пути к файлам и где я запускаю сервер sidekiq, потому что я думаю, что это может быть связано с этим.