rails中实现定时任务的之sidetiq

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

sidetiq依赖于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,会出现如下图:

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

四、测试:

修改my_schedule.rb文件为:

class MySchedule

include Sidekiq::Worker

include Sidetiq::Schedulable

recurrence do

minutely(1)

end

def perform

puts "sidetiq 测试"

end

end

改为每一分钟执行一次。

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

运行成功。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容