У меня есть 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'
Любая помощь приветствуется.
Если вам не нужен отдельный рабочий, вы можете использовать драгоценный камень целлулоида, он активирует sidekiq, но не требует redis. – prcu