ruby on rails 里使用SideKiq 做后台任务

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

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

进入项目文件夹: cd active_job

打开Gemfile文件:vim Gemfile

把source 'https://rubygems.org'改为source 'https://ruby.taobao.org',在文件里加入:gem 'sidekiq'

然后运行:bundle install

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

redis-cli进入redis,运行ping

PONG说明安装成功。

三、试一下sidekiq

运行sidekiq, 进入任务监控页面

会出现下图:

四、测试:

新建job: rails g job restJob

会在app/jobs文件夹下产生文件rest_job.rb,打开这个文件: vim rest_job.rb,修改perform方法,这里作为测试添加 puts "SideKiq 测试", 保存退出。

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

Rails Console进行测试: rails c

输入:RestJob.set(wait: 1.minutes).perform_later

这里设置为1分钟后执行,如果没有报错,说明任务已经添加成功。

如图:

1分钟后会在sidekiq的监视窗口里看到输入的“SideKiq 测试”:

到此说明运行一切正常。

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

推荐阅读更多精彩内容