Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用redis和clockwork在rails 4中运行sidekiq_Ruby On Rails_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 使用redis和clockwork在rails 4中运行sidekiq

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

我的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, '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。