Sidekiq(部分基础,有几个使用案例和active_job的用法)
Sidekiq (8700✨)
git : https://github.com/mperham/sidekiq
https://www.cnblogs.com/richard1234/p/3829074.html (一篇文章,讲的比较清楚)
https://wdxtub.com/2016/07/06/sidekiq-guide/ (wiki的翻译)
进阶精华贴:https://ruby-china.org/topics/31470; https://ruby-china.org/topics/36825
Sidekiq 是Ruby社区最受欢迎的多线程的异步任务框架之一,几乎是Rails项目标配。
非常优秀的后台任务处理软件,其依赖Redis实现队列任务的增加,重试和调度等。
在Web请求中,有很多任务是可以放到后台执行的,比如用户购买商品付款成功后,就可以直接向用户购买成功,相应的短信发送,物流通知等等就可以放到后台任务去做,不用在用户购买的同时立即执行,这些任务也称作异步任务。
基本概念:
Job
在 Sidekiq 中的 Job 指的是某一个任务的一次执行, 注意与我们通常意义上说 “一个 Job” 指的是一类 Job.(一类任务)
Worker
因为 Sidekiq
是使用 Celluoid 来完成其多线程的控制的, 而 Celluoid 是 Ruby 中的多线程模式 Actor 模式的实现, 所以在 Sidekiq 中的 Worker 我们以拟人的方式去理解. 我拥有一个工人, 不过有一点要区分的是这些 Worker 都是按照”操作手册”在执行任务, 所以他不会被限制在某一类任务上.
Queue
队列的意义在于区分任务并且让任务排队, Sidekiq 中将每一类的任务使用一个 Queue 来区分开.
按照视频步骤操作失败。 谷歌中文的帖子,最后成功。
- 根据教材安装gem 'sidekiq'
- 进行相关配置,下载的rails模版已经在sidekiq.rb中配置,并在routs.rb中加入 monitoring监控。
- rails g sidekiq:worker Hard
- 然后打开在方法perform(参数)内设置如puts("xxx")等等,
- 在控制器action,models中创建一个job。job是指某一个任务的一次执行,通常我们说一个job
最新文章
- 《月之猎人 (Moon Hunters)》主角设计
- Linux下的压缩和解压缩命令——bzip2/bunzip2
- MATLAB常用字符串函数之二
- yii2 session的使用方法
- Java:内部类
- AOJ 0525 - Osenbei
- C++ 单链表基本操作
- MIT算法导论——第五讲.Linear Time Sort
- 解决IE6下png图片不透明
- python面向对象(下)
- 用过滤器和装饰者设计模式(静态代理)解决getParameter乱码问题
- hdu1520(树形dp)
- java.lang.RuntimeException: Method called after release()
- Mysql简单笔记
- Layx——网页弹窗最佳选择.
- Win10常见问题记录
- Glide 加载部分圆角图片
- Itween的代码使用方法 - 01
- _rate_charaters
- linux计划任务防暴力破解脚本+免密操作
热门文章