Sidekiq基础的基础
2015-06-12 21:32
134 查看
基础知识
sidekiq是一种后台作业处理的框架,它可以在后台执行工作,以扩展你的应用程序,这需要三个部分:
这三种方式都是创建一个Hash用于表示某个人物,然后将Hash转换成JSON字符串,并将这个字符串添加到Rails的一个队列中。这以为这worker的参数必须是简单的JSON数据类型(numbers, strings, boolean, array, hash)。复杂的Ruby对象(比如日期,事件,ActiveRecord实例)不会被正确的转换。
sidekiq是一种后台作业处理的框架,它可以在后台执行工作,以扩展你的应用程序,这需要三个部分:
1.Client
Sidekiq client在你的web应用程序中运行,允许你把作业放在后台进行处理。在应用的代码中,有三种方式可以创建一个Job:MyWorker.perform_async(1, 2, 3) SomeClass.delay.some_class_method(1, 2, 3) # See Delayed Extensions wiki page Sidekiq::Client.push('class' => MyWorker, 'args' => [1, 2, 3]) # Lower-level generic API Sidekiq::Client.push('class' => 'MyWorker', 'args' => [1, 2, 3]) # Can also pass class as a string.
这三种方式都是创建一个Hash用于表示某个人物,然后将Hash转换成JSON字符串,并将这个字符串添加到Rails的一个队列中。这以为这worker的参数必须是简单的JSON数据类型(numbers, strings, boolean, array, hash)。复杂的Ruby对象(比如日期,事件,ActiveRecord实例)不会被正确的转换。
2.Redis
Redis为sidekiq提供数据存储,It holds all the job data along with runtime and historical data to power Sidekiq’s Web UI.3.Server
每个sidekiq服务进程从Redis的队列中获取并处理任务。就像你的web进程一样,sidekiq引导Rails,所以你的任务和workers可以使用所有的Rails API,包括ActiveRecord。Server将会实例化你的worker,并且传递参数给worker。Everything else is up to your code.相关文章推荐
- Sparse Representation Classification速度记录
- 不到100行代码实现一个简单的推荐系统
- 可重入函数与不可重入函数概念以及编写规范
- 33.对学生结构体的数据进行修改
- 冒泡排序算法(优化版)
- “渴了么”软件详细说明书
- SpringMVC输入校验
- 冒泡排序算法
- 编译 android-x86-4.4 各种找不到,解决方法
- 百度地图API制作类似 百度地图的路线导航界面并实现简单的路线规划功能
- 让TableViewSection在Plan的模式下不悬浮
- Veins 数据包收发基本流程简单总结
- 动态规划:从新手到专家
- 冒泡排序算法(初级版)
- HLJU 1042 Fight (种类并查集)
- “渴了么”软件需求规格说明书
- [FZYZOJ 1200] 路由器安置
- ioctl错误引出的open和fopen的区别
- drp错误集锦---“Cannot return from outside a function or method”
- Precision/Recall和ROC曲线与分类