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

    Sidekiq(部分基础,有几个使用案例和active_job的用法)的更多相关文章

    1. 【CC2530入门教程-增强版】基础技能综合实训案例(基础版)-上位机源码

      [CC2530入门教程-增强版]基础技能综合实训案例(基础版)-上位机源码 广东职业技术学院  欧浩源 一.需求分析 按照指定参数打开串口,与测控终端建立数据传输通道,并根据应用要求实现程序逻辑,具体 ...

    2. Java基础-处理json字符串解析案例

      Java基础-处理json字符串解析案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 作为一名开发人员,想必大家或多或少都有接触到XML文件,XML全称为“extensible ...

    3. Java基础-零拷贝技术应用案例

      Java基础-零拷贝技术应用案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 零拷贝技术在Hadoop生态圈中很多组件得到应用,典型的比如kafka组件,它就很成功的应用了零拷贝 ...

    4. C#基础练习(事件登陆案例)

      Form1的后台代码: namespace _08事件登陆案例 {     public partial class Form1 : Form     {         public Form1() ...

    5. java基础学习日志--Stirng内存案例

      案例一: public class test1 { public static void mb_swap(String Str1,String Str2) { String temp=Str1; St ...

    6. Java基础:String类详解,案例用户登录实现,案例手机号截取实现,案例敏感词替换实现;StringBuilder类详解,StringBuilder和String相互转换,附练习案例.

      1.API 1.1 API概述-帮助文档的使用 什么是API API (Application Programming Interface) :应用程序编程接口 java中的API 指的就是 JDK ...

    7. 零基础学习java------31---------共享单车案例,html快速入门(常见标签,get和post的区别)

       一 .单车案例 二. HTML快速入门 红字表示要掌握的内容 超文本标记语言,此处的标记指的即是关键字,其用处是用来写页面(展示数据). 语法:(1)./当前目录:../ 父级目录 (2)注释符号: ...

    8. 二十一、Java基础--------IO流之综合案例分析

      前三篇文章详细介绍了IO流体系所涉及的重点内容,为了帮助理解与学习,本片博客主要是分析一个与IO操作相关的题目. 例1:在我们观看视频时经常要关注的就是视频的时间长度,在学习了IO操作之后,就可以自己 ...

    9. html form <label>标签基础语法结构与使用案例教程(转载)

      在表单布局中会遇到label标签的使用,label没有任何样式效果,有触发对应表单控件功能.比如我们点击单选按钮或多选框前文字对应选项就能被选中,这个就是对文字加了<label>标签实现. ...

    随机推荐

    1. WebStorm使用快速入门

      WebStorm建立在开源IntelliJ平台之上,JetBrains已经开发和完善了超过15年.其提供了统一的UI,可与许多流行的版本控制系统配合使用,确保在git,GitHub,SVN,Mercu ...

    2. Android查缺补漏(View篇)--布局文件中的“@+id”和“@id”有什么区别?

      Android布局文件中的"@+id"和"@id"有什么区别? +id表示为控件指定一个id(新增一个id),如: <cn.codingblock.vie ...

    3. bzoj1647 / P1985 [USACO07OPEN]翻转棋

      P1985 [USACO07OPEN]翻转棋 其实我们只要枚举第一行的状态,后面的所有状态都是可以唯一确定的. 用二进制枚举灰常方便 #include<iostream> #include ...

    4. P4555 [国家集训队]最长双回文串

      P4555 [国家集训队]最长双回文串 manacher 用manacher在处理时顺便把以某点开头/结尾的最长回文串的长度也处理掉. 然后枚举. #include<iostream> # ...

    5. YAML配置文件

      最近,研究jeeweb这个框架,发现新版本中的配置文件都是用的.yml为后缀的文件,打开一看,和以前的xml和properties语法有很大区别,因此仔细研究一下. 简介: YAML是(YAML Ai ...

    6. # 20145106 《Java程序设计》第6周学习总结

      教材学习内容总结 来源和目的都不知道的情况下还是可以撰写程序的,有这类需求的时候,可以设计一个通用的dump()方法.dump方法接受inputstream与outputstream实例,分别代表读取 ...

    7. 联想预装Win10/Win8换Win7 教程 以及svn使用教程

      1.换系统教程 http://ideapad.it168.com/thread-4869510-1-1.html http://jingyan.baidu.com/article/08b6a591c8 ...

    8. HDU1043 Eight(八数码:逆向BFS打表+康托展开)题解

      Eight Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

    9. C#学习笔记(六):循环嵌套、复杂数据类型和枚举

      复杂数据类型 默认情况:0,1,2,3 赋值情况:0,3,4,5://修改初始值,后面都会改变 定义在class外面,作用域更大 定义在class里面(类种类),只能在类里使用 枚举作用:方便把不同角 ...

    10. Facebook广告API系列 3 Ads Management

      Facebook广告API系列 3 Facebook marketing API有三大组成部分: Audience Management Ads Management Ads Insights 本篇介 ...