`
cinic2003
  • 浏览: 37092 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Resque

阅读更多

Resqus: git://github.com/defunkt/resque.git


来自于railscasts


安装redis,并启动redis

sudo redis-server /etc/redis.conf




 

在项目中配置redis,在config/下新建resque.yml

defaults: &defaults
  host: localhost
    port: 6379

  development:
      <<: *defaults

  test:
      <<: *defaults

  staging:
      <<: *defaults

  production:
      <<: *defaults


 在config/initializers/下新建resque.rb

rails_env = ENV['RAILS_ENV'] || 'development'

resque_config = YAML.load_file(rails_root + '/config/resque.yml')
Resque.redis = resque_config[rails_env]

 

在Rakefile中加入

require 'resque/tasks'

 


在rails的项目中加入resque,在Gemfile中加入gem

gem 'resque', :require => 'resque/server'




 

在项目的lib/task/下新建文件:resque.rake

require 'resqus/tasks'

task "resque:setup" => :environment




 


在app下新建文件夹workers,并新建文件snipper_highlighter.rb

class SnippetHighlighter
   @queue = :snippets_queue
   def self.perform(snippet_id)
        snippet = Snippet.find(snippet_id)
        .........
    end 
end




 

 

在需要异步任务的代码里加入类似代码

Resque.enqueue(SinppetHighlighter, snippet.id)




 

开启resque-web

resque-web




 

执行resque任务

rake resque:work QUEUE='*'





将resque-web绑定到项目中来,在routes.rb中加入

mount Resque::Server, :at => '/resque'




 这样在项目中通过路由/resque就能访问到resque-web了,并可设置访问密码,在config/initializers中新建resque_auth.rb文件

Resque::Server.use(Rack::Auth::Basic) do |user, password|
     password == 'secret'
end




 





分享到:
评论

相关推荐

    ThinkPHP3.2 集成 php-resque: PHP Resque Worker

    ThinkPHP3.2 集成 php-resque: PHP Resque Worker =========================================== php-resque是php环境中一个轻量级的队列服务。具体队列服务是做什么用的,请自行百度! ## 运行环境 ## * ...

    Laravel开发-laravel-resque-redis

    Laravel-resque是Laravel社区为了更好地利用Resque(一个由GitHub上的Chris Jones开发的Redis驱动的任务队列系统)而创建的一个连接器。这个项目的主要目标是为Laravel提供对Resque的无缝集成,让开发者可以利用...

    Laravel开发-php-resque

    - **Resque 监控**:可以使用 Resque 的监控工具(如 `resque-web`),监控队列状态、任务执行情况和错误日志。 - **Laravel 日志**:Laravel 默认集成了 Monolog,可以记录 worker 执行任务时的错误信息,便于...

    Laravel开发-laravel-resque-ex

    **Laravel 开发与 Laravel Resque 连接器** 在 Laravel 框架中,队列是一种非常重要的功能,它允许开发者将耗时的操作(如发送邮件、处理大量数据等)放到后台执行,以提高应用的响应速度和用户体验。`laravel-...

    前端开源库-node-resque

    **前端开源库-node-resque** `node-resque`是一个基于Node.js实现的开源库,它为前端开发者提供了一种高效且可靠的后台任务处理方案。在Web应用开发中,尤其是在涉及大量异步操作、数据处理或者需要定时执行的任务...

    Ruby-resquescheduler建立在resque之上的一个轻量级作业调度系统

    Ruby-resque-scheduler是Ruby社区中广泛使用的任务调度库,它是基于流行的resque库扩展而来的,用于在Ruby应用程序中实现定时任务和周期性作业。Resque本身是一个强大的队列系统,用于处理异步任务,而resque-...

    resque-status, resque状态是对resque队列系统的一个扩展,它提供简单的可以跟踪作业.zip

    resque-status, resque状态是对resque队列系统的一个扩展,它提供简单的可以跟踪作业 resque状态resque状态是对resque队列系统的一个扩展,它提供简单的可以跟踪作业。resque状态提供了一组简单的类,扩展了resque...

    yii-resque, 基于 php Resque的Yii组件,基于.zip

    yii-resque, 基于 php Resque的Yii组件,基于 Resque我是 php的一个组件,它基于 php-resque resque和 php-resque-scheduler的组件,我们还通过使用 ResqueBoard测试了日志处理程序 using 。需求php函数扩展。Red

    Laravel开发-illuminate-resque

    在Laravel框架中,`illuminate-resque`是官方提供的一个扩展库,它使得开发者能够利用Resque这个开源的后台任务处理系统来处理异步任务。Resque由Twitter的前工程师Chris Wanstrath创建,主要目标是提供一个简单且可...

    补丁resque与Heroku进程信号兼容_Ruby_Shell_下载.zip

    Resque 是一个 Ruby 的工作队列系统,它用于在后台处理任务,比如电子邮件发送、图像处理等耗时操作,以防止阻塞Web应用的主线程。Heroku 是一个基于云的平台,主要用于托管Ruby on Rails和其他web应用程序。在这个...

    PHP版的ResquePhp-Resque.zip

    Php-Resque 是 Resque 的PHP语言实现版。 使用示例: 1、定义一个任务队列:// Required if redis is located elsewhere Resque::setBackend('localhost:6379'); $args = array(  'name' =&gt; 'Chris'  ...

    resque-delayed:Resque 的延迟作业排队

    Resque::延迟Resque 的作业排队延迟。 将仅在指定延迟后或将来特定时间出现以供处理的作业入队。关于对于在 cron 中运行会很尴尬的作业很有用。 例如: 过期的过期订单以释放预留库存以逐渐增加的延迟重试失败的 ...

    php-resque:PHP中Resque的实现

    背景Resque由GitHub开创,并用Ruby编写。 您在这里看到的东西几乎是作为Resque worker和enqueue系统直接移植到PHP的端口而开始的。 有关Resque的更多信息,请访问官方GitHub项目: ...

    php-resque

    由于其基于成熟的 Resque 设计,拥有活跃的社区和丰富的文档,开发者可以方便地找到解决方案或贡献自己的代码。 总结来说,`php-resque` 是一个强大而可靠的 PHP 队列处理库,它利用 Redis 提供了稳定的后台任务...

    capistrano-resque-pool:用于Resque池的Capistrano集成https

    Capistrano :: Resque ::游泳池 Capistrano集成,用于resque-pool 。 安装 将此行添加到您的应用程序的Gemfile中: gem 'capistrano-resque-pool' 然后执行: $ bundle install 或将其自己安装为: $ gem ...

    docker-resque-web:resque-web 的 Docker 容器

    Docker 中的 Resque Web 这个项目是一个 Resque Web 的 Docker 容器。 该容器基于 debian:wheezy。 它使用 apt-get 安装ruby 2.1 ,然后安装 resque-web gem。 获取容器 下载容器运行 docker pull ennexa/resque-...

    PHP使用php-resque库配合Redis实现MQ消息队列的教程

    在Resque框架中,后台任务处理涉及三个核心角色: 1. **Job(任务)**:代表一个具体的后台任务,如发送邮件,表现为一个PHP类。 2. **Queue(队列)**:用于存储待处理任务的队列,由Redis实现,可以进行插入和...

    railsconf-2015:进程和线程 - Resque 与 Sidekiq

    $ rake resque:pool # start a pool of Resque workers (see resque-pool.yml) $ WORKERS=n rake sidekiq:work # start a number of Sidekiq workers 可用的工作在jobs.rb并且与Resque 和Sidekiq 兼容(这可能是一个...

Global site tag (gtag.js) - Google Analytics