环境:ubuntu14.4,ruby2.1.5, rails4.2

sidetip 依赖于sidekiq,所以在Gemfile里要添加sidekiq。

一、新一个rais项目:rails new schedule_job --skip-bundle

      进入项目文件夹: cd schedule_job

  打开Gemfile文件:vim Gemfile

  把source 'https://rubygems.org'改为source 'https://ruby.taobao.org'。

  在文件里加入:gem 'sidekiq',gem 'sidetiq'

  然后运行:bundle install

  安装redis-server: sudo apt-get install redis-server

  redis-cli进入redis,运行ping

  PONG说明安装成功。

二、新测试文件:

  在app/jobs文件夹下产生文件,新建定时任务类:MySchedule

  vim my_schedule.rb,修改为:

  class MySchedule
    include Sidekiq::Worker
    include Sidetiq::Schedulable

    recurrence { daily }

    def perform
      puts "sidetiq 测试"
    end
  end

   保存退出。

  在config/application.rb里面添加: config.active_job.queue_adapter = :sidekiq

三、运行sidekiq,会出现如下图:rails中实现定时任务的之sidetiq

   这个是到午夜执行的任务。

四、测试:

  修改my_schedule.rb文件为:

  class MySchedule
    include Sidekiq::Worker
    include Sidetiq::Schedulable

    recurrence do
      minutely(1)
    end

    def perform
      puts "sidetiq 测试"
    end
  end

  改为每一分钟执行一次。

  执行sidekiq命令,会出现如图:

rails中实现定时任务的之sidetiq

 

  运行成功。

 

 

环境:ubuntu14.4,ruby2.1.5, rails4.2

sidetip 依赖于sidekiq,所以在Gemfile里要添加sidekiq。

一、新一个rais项目:rails new schedule_job --skip-bundle

      进入项目文件夹: cd schedule_job

  打开Gemfile文件:vim Gemfile

  把source 'https://rubygems.org'改为source 'https://ruby.taobao.org'。

  在文件里加入:gem 'sidekiq',gem 'sidetiq'

  然后运行:bundle install

  安装redis-server: sudo apt-get install redis-server

  redis-cli进入redis,运行ping

  PONG说明安装成功。

二、新测试文件:

  在app/jobs文件夹下产生文件,新建定时任务类:MySchedule

  vim my_schedule.rb,修改为:

  class MySchedule
    include Sidekiq::Worker
    include Sidetiq::Schedulable

    recurrence { daily }

    def perform
      puts "sidetiq 测试"
    end
  end

   保存退出。

  在config/application.rb里面添加: config.active_job.queue_adapter = :sidekiq

三、运行sidekiq,会出现如下图:rails中实现定时任务的之sidetiq

   这个是到午夜执行的任务。

四、测试:

  修改my_schedule.rb文件为:

  class MySchedule
    include Sidekiq::Worker
    include Sidetiq::Schedulable

    recurrence do
      minutely(1)
    end

    def perform
      puts "sidetiq 测试"
    end
  end

  改为每一分钟执行一次。

  执行sidekiq命令,会出现如图:

rails中实现定时任务的之sidetiq

 

  运行成功。

 

 

相关文章: