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 来区分开.


按照视频步骤操作失败。 谷歌中文的帖子,最后成功。

  1. 根据教材安装gem 'sidekiq'
  2. 进行相关配置,下载的rails模版已经在sidekiq.rb中配置,并在routs.rb中加入   monitoring监控。
  3. rails g sidekiq:worker Hard
  4. 然后打开在方法perform(参数)内设置如puts("xxx")等等,
  5. 在控制器action,models中创建一个job。job是指某一个任务的一次执行,通常我们说一个job

    最新文章

    1. 《月之猎人 (Moon Hunters)》主角设计
    2. Linux下的压缩和解压缩命令——bzip2/bunzip2
    3. MATLAB常用字符串函数之二
    4. yii2 session的使用方法
    5. Java:内部类
    6. AOJ 0525 - Osenbei
    7. C++ 单链表基本操作
    8. MIT算法导论——第五讲.Linear Time Sort
    9. 解决IE6下png图片不透明
    10. python面向对象(下)
    11. 用过滤器和装饰者设计模式(静态代理)解决getParameter乱码问题
    12. hdu1520(树形dp)
    13. java.lang.RuntimeException: Method called after release()
    14. Mysql简单笔记
    15. Layx——网页弹窗最佳选择.
    16. Win10常见问题记录
    17. Glide 加载部分圆角图片
    18. Itween的代码使用方法 - 01
    19. _rate_charaters
    20. linux计划任务防暴力破解脚本+免密操作

    热门文章

    1. Linux基础命令---diff
    2. HexDump.java解析,android 16进制转换
    3. Oracle 11g调用函数几种常用方法
    4. web前端----css属性
    5. java反射之-性能优化
    6. 20145310《网络对抗技术》Exp6 信息搜集技术
    7. 什么是BFC?
    8. Educational Codeforces Round 21 Problem F (Codeforces 808F) - 最小割 - 二分答案
    9. AP聚类算法
    10. 如果恨一个程序员,忽悠他去做iOS开发