后台管理gem resque在rails3中的整合
2012-05-21 10:58
155 查看
PIDFILE=./resque.pid QUEUE=file_serve rake environment resque:work
railscasts视频
http://railscasts.com/episodes/271-resque?autoplay=true
github
https://github.com/defunkt/resque
gem安装
gem 'resque', :require => "resque/server"
新建resque.rake文件(lib/tasks)
require "resque/tasks" task "resque:setup" => :environment
新建lib/file_convert_worker.rb
# -*- encoding: utf-8 -*- # 文件转换后台运行程序,用于将mp4的文件转换成可以在手机上观看的rtsp, rtmp的视频文件 class FileConvertWorker @queue = :file_convert_que #视频的id号 def self.perform(video_id) video = Video.find_by_id video_id if video #.... .... end end end
@queue 变量是必须定义的
还需要定义一个 类方法 perform
在controller/action
Resque.enqueue(FileConvertWorker, video.id)
修改config/routes.rb文件
mount Resque::Server, :at => "/resque"
这样通过 /resque 可以访问后台的管理页面
增加/resque访问的认证控制
config/initializers/resque_auth.rb
Resque::Server.use(Rack::Auth::Basic) do |user, password| password == "secret" end
resque的启动命令
rake resque:work QUEUE='*'启动多个resque线程
COUNT=5 QUEUE=* rake resque:workers
controller中的引用
Resque.enqueue(FileConvertWorker, video.id)
resque debug 查看日志信息
VVERBOSE=1 QUEUE=file_serve rake environment resque:work
生成pid文件的命令
PIDFILE=./resque.pid QUEUE=file_serve rake environment resque:work
运行在后台的任务
PIDFILE=./resque.pid BACKGROUND=yes QUEUE=file_serve \ rake environment resque:work
默认情况, resque的执行频率是 5秒每次, 修改执行频率的代码是
INTERVAL=0.1 QUEUE=file_serve rake environment resque:work
resque不支持数字化的优先级
resque的解决方案是 提供不同优先级的 queue name, 如下命令
QUEUES=critical,archive,high,low rake resque:work
如果只有 archive 后台命令,那么 他会按照一定的次序. 如果发现 critical 那么会先执行 critical
相关文章推荐
- 【腾讯云的1001种玩法】 Laravel 整合微视频上传管理能力,轻松打造视频App后台
- 整合公司3个网站后台管理子系统的经验总结 - 实现多系统的单点登录(ASP.NET + ASP) 推荐
- 【腾讯云的1001种玩法】 Laravel 整合微视频上传管理能力,轻松打造视频App后台
- C#开发微信门户及应用(47) - 整合Web API、微信后台管理及前端微信小程序的应用方案
- [ SpringMVC ] 整合 Swagger UI 开发后台接口动态管理
- openfire数据整合后的后台管理登陆
- PMP之4 项目整合管理
- 用开源中国(oschina)Git管理代码(整合IntelliJ 13.1.5)
- 学生信息管理后台(python+django+sql)
- 如何从投票的网站的管理后台导出已投票的邀请码数据至Excel,并且稍修改,再导入到现场抽奖软件中?
- 修改Magento后台管理目录
- Penetration 成功渗透网站后台管理
- Spring整合JMS(四)——事务管理
- 同一个数据库实例,不同用户下多表创建视图,Hibernate完成ORM映射,Spring整合,后台实现
- 网页左右浮动广告(包括ASP.NET后台管理)
- 后台管理界面-- 管理员管理[1]
- 一个稳定的相对成熟的通用管理软件的底层及后台管理值多少钱?(您积累的成果物有多少艰辛付出)
- 几个不错的Web后台管理前端框架
- 给Asp.Net Forums的后台管理菜单做一个树形外衣
- 用PHP实现守护进程任务后台运行与多线程(php-resque使用说明)