basic use of sidekiq

参考页面

https://github.com/mperham/sidekiq

https://github.com/mperham/sidekiq/wiki/Getting-Started

强烈推荐这个视频

https://www.youtube.com/watch?v=bfPb1zD91Rg&index=1&list=PLjeHh2LSCFrWGT5uVjUuFKAcrcj5kSai1

$mkdir  sidekiq_playground
$cd sidekiq_playground/ $vim Gemfile

添加一个gem

source "https://rubygems.org"

gem "sidekiq"

新增worker.rb

vim worker.rb
require 'sidekiq'

Sidekiq.configure_client do |config|
config.redis = { db: 1 }
end Sidekiq.configure_server do |config|
config.redis = { db: 1 }
end class OurWorker
include Sidekiq::Worker def perform(complexity)
case complexity
when "super_hard"
sleep 20
puts "super hard! Really took quite a bit of effort"
when "hard"
sleep 10
puts "hard! That was o bit of work"
else
sleep 1
puts "That wasn't a lot of effort"
end
end
end

安装redis,启动sidekiq

$sudo apt-get install redis-server
$ bundle exec sidekiq -r ./worker.rb

执行一下

$ bundle exec irb -r ./worker.rb
irb(main):001:0> OurWorker.perform_async("easy")
=> "d40dc832d93f50c00afd2ab4"
irb(main):002:0> OurWorker.perform_async("hard") //立刻执行
=> "33356c6a0c7cd55047d40670"

irb(main):003:0> OurWorker.perform_in(5,"easy")   //5秒后执行
  => "7a517f4305ff6105aa408b4f"

 

查看启动页面里的输出

$ bundle exec sidekiq -r ./worker.rb
2016-03-31T07:11:15.792Z 30945 TID-gnktzwzl4 INFO: Booting Sidekiq 4.1.1 with redis options {:db=>1, :url=>nil} m,
`$b
.ss, $$: .,d$
`$$P,d$P' .,md$P"'
,$$$$$bmmd$$$P^'
.d$$$$$$$$$$P'
$$^' `"^$$$' ____ _ _ _ _
$: ,$$: / ___|(_) __| | ___| | _(_) __ _
`b :$$ \___ \| |/ _` |/ _ \ |/ / |/ _` |
$$: ___) | | (_| | __/ <| | (_| |
$$ |____/|_|\__,_|\___|_|\_\_|\__, |
.d$$ |_| 2016-03-31T07:11:15.792Z 30945 TID-gnktzwzl4 INFO: Running in ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]
2016-03-31T07:11:15.792Z 30945 TID-gnktzwzl4 INFO: See LICENSE and the LGPL-3.0 for licensing details.
2016-03-31T07:11:15.792Z 30945 TID-gnktzwzl4 INFO: Upgrade to Sidekiq Pro for more features and support: http://sidekiq.org
2016-03-31T07:11:15.793Z 30945 TID-gnktzwzl4 INFO: Starting processing, hit Ctrl-C to stop
2016-03-31T07:13:17.062Z 30945 TID-gnku2xt9s OurWorker JID-d40dc832d93f50c00afd2ab4 INFO: start
That wasn't a lot of effort
2016-03-31T07:13:18.065Z 30945 TID-gnku2xt9s OurWorker JID-d40dc832d93f50c00afd2ab4 INFO: done: 1.003 sec
2016-03-31T07:14:08.887Z 30945 TID-gnktztls4 OurWorker JID-33356c6a0c7cd55047d40670 INFO: start
hard! That was o bit of work
2016-03-31T07:14:18.887Z 30945 TID-gnktztls4 OurWorker JID-33356c6a0c7cd55047d40670 INFO: done: 10.0 sec
上一篇:iOS开发之内存缓存机制


下一篇:Mybatis中的N+1问题与延迟加载