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. Python tricks(4) -- with statement

      简介 with是从2.5版本引入的一个语法. 这个语法本身是为了解决try..finally繁琐的释放各类资源(文件句柄, Lock等)的问题. 如果想在旧版本中使用这个功能, 直接引入future模 ...

    2. 20165207 Exp4 恶意代码分析

      目录 1.实验内容 1.1.系统运行监控 1.1.1.使用命令行创建计划任务 1.1.2.使用命令行借助批处理文件创建计划任务 1.1.3.分析netstat计划任务的最终结果 1.1.4.安装配置s ...

    3. IEEE发布2017年编程语言排行榜:Python高居首位,java第三,php第八

      2017年7月18日,IEEE Spectrum 发布了第四届顶级编程语言交互排行榜.因为有各种不同语言的排行,所以 IEEE Spectrum 依据不同的变量对流行度进行了排行.据 IEEE Spe ...

    4. WordPress存在DoS拒绝服务漏洞,推荐删除根目录下的xmlrpc.php

      WordPress存在DoS拒绝服务漏洞,推荐删除根目录下的xmlrpc.php受影响的版本:WordPress 3.9.x-3.9.1WordPress 3.8.x-3.8.3WordPress 3 ...

    5. Python入门之os.walk()方法

      os.walk方法,主要用来遍历一个目录内各个子目录和子文件. os.walk(top, topdown=True, onerror=None, followlinks=False) 可以得到一个三元 ...

    6. 20145324王嘉澜《网络对抗技术》web安全基础实践

      实验内容 •使用webgoat进行XSS攻击.CSRF攻击.SQL注入 实验问答 •SQL注入攻击原理,如何防御 ①SQL注入攻击是攻击者在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL ...

    7. BZOJ 2434 阿狸的打字机(fail树)

      题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2434 题意:阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机.打字机上只有28 ...

    8. Python3基础 list 查看filter()返回的对象

               Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

    9. trust zone之我见【转】

      本文转载自:https://blog.csdn.net/hovan/article/details/42520879 老板交待任务,这个星期我都在研究trust zone的东东,之前有看过代码,但没有 ...

    10. 三点估算和PERT技术

      三点估算是PMP考试中的必考题目,每次约2-4道题目.现在就三点估算和PERT技术做详细讲解,以飨读者. 通过考虑估算中的不确定性和风险,可以提高活动持续时间估算的准确性.这个概念起源于计划评审技术( ...