Ruby on rails 使用redis和clockwork在rails 4中运行sidekiq
我的redis服务器运行在Linux Mint 17上,端口6379。我正在使用Ruby on rails 使用redis和clockwork在rails 4中运行sidekiq,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我的redis服务器运行在Linux Mint 17上,端口6379。我正在使用lib/clock.rb中的以下时钟文件来使用sidekiq运行cron任务: require 'clockwork' require './config/boot' require './config/environment' module Clockwork handler do |job| puts "Running #{job}" end every(5.seconds, 'COLL
lib/clock.rb
中的以下时钟文件来使用sidekiq运行cron任务:
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 ---------'
我希望输出包括任务(简单打印语句)
我的文件看起来是这样的:
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'
非常感谢您的帮助。您需要在单独的shell中启动sidekiq worker。另外,如果还没有为sidekiq配置redis(设置db或命名空间)如果您不需要单独的工作程序,您可以使用
赛璐珞
gem,它为sidekiq供电,但不需要redis。