2014-11-15 2 views
0

У меня есть Redis-сервер, работающий на Linux Mint 17 на порт 6379. Я использую следующий файл заводного в lib/clock.rb выполнить задачу хрон с помощью sidekiq:Запуск sidekiq в рельсах 4 с Redis и часовым механизмом

require 'clockwork' 

require './config/boot' 
require './config/environment' 

module Clockwork 
    handler do |job| 
    puts "Running #{job}" 
    end 

    every(5.seconds, 'COLLECT FEEDS ---------') do 
    FeedUpdater.perform_async() 
    end 
end 

задача sidekiq определяется следующим образом:

class FeedUpdater 
    include Sidekiq::Worker 

    def perform() 
    puts 'Doing hard work' 
    end 
end 

Однако, когда я бегу bundle exec clockwork lib/clock.rb я получаю следующий результат:

I, [2014-11-15T14:00:43.888627 #27822] INFO -- : Starting clock for 1 events: [ COLLECT FEEDS --------- ] 
I, [2014-11-15T14:00:43.888700 #27822] INFO -- : Triggering 'COLLECT FEEDS ---------' 
2014-11-15T19:00:43Z 27822 TID-2ipeg INFO: Sidekiq client with redis options {} 
I, [2014-11-15T14:00:48.891139 #27822] INFO -- : Triggering 'COLLECT FEEDS ---------' 
I, [2014-11-15T14:00:53.893416 #27822] INFO -- : Triggering 'COLLECT FEEDS ---------' 

Я ожидаю, что результат будет включать задачу (простой оператор печати).

Мои Gemfile выглядит так:

source 'https://rubygems.org' 

gem 'rails', '4.1.1' 
gem 'pg' 
gem 'sass-rails', '~> 4.0.3' 
gem 'uglifier', '>= 1.3.0' 
gem 'coffee-rails', '~> 4.0.0' 
gem 'jquery-rails' 
gem 'turbolinks' 
gem 'jbuilder', '~> 2.0' 
gem 'sdoc', '~> 0.4.0',   group: :doc 
gem 'spring',  group: :development 
gem 'feedjira' 
gem 'sidekiq', '~> 3.1.4' 
gem 'clockwork', '~> 0.7.7' 

Любая помощь приветствуется.

ответ

1

Вам необходимо запустить sidekiq worker в отдельной оболочке. Также лучше настроить redis для sidekiq, если еще нет (установить db или пространство имен)

+0

Если вам не нужен отдельный рабочий, вы можете использовать драгоценный камень целлулоида, он активирует sidekiq, но не требует redis. – prcu

Смежные вопросы