resque-heroku 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in resque-heroku.gemspec
4
+ gemspec
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
@@ -0,0 +1,19 @@
1
+ require "resque-heroku/version"
2
+ require 'resque/worker'
3
+
4
+ # extend Resque::Heroku in your job class
5
+ module Resque::Heroku
6
+ def after_perform_heroku
7
+ resque_heroku_disconnect!
8
+ end
9
+
10
+ def failed_with_heroku!
11
+ resque_heroku_disconnect!
12
+ end
13
+
14
+ protected
15
+
16
+ def resque_heroku_disconnect!
17
+ ActiveRecord::Base.connection.disconnect!
18
+ end
19
+ end
@@ -0,0 +1,5 @@
1
+ module Resque
2
+ module Heroku
3
+ VERSION = "0.0.1"
4
+ end
5
+ end
@@ -0,0 +1,14 @@
1
+ require 'resque/tasks'
2
+
3
+ task "resque:setup" => :environment do
4
+ ENV['QUEUE'] = '*' if ENV['QUEUE'].blank?
5
+
6
+ # Fix for handling resque jobs on Heroku cedar
7
+ # http://stackoverflow.com/questions/2611747/rails-resque-workers-fail-with-pgerror-server-closed-the-connection-unexpectedly
8
+ Resque.after_fork do |worker|
9
+ ActiveRecord::Base.establish_connection
10
+ end
11
+ end
12
+
13
+ desc "Alias for resque:work"
14
+ task "jobs:work" => "resque:work"
data/readme.rdoc ADDED
@@ -0,0 +1,22 @@
1
+ = Overview
2
+
3
+ This is not an official Heroku gem. But it does encapsulate the community best practices for running Resque on Heroku.
4
+
5
+ = Usage
6
+
7
+ Install the gem in your Gemfile
8
+
9
+ gem 'resque-heroku'
10
+
11
+ Include Resque::Heroku in your job classes
12
+
13
+ class Job
14
+ extend Resque::Heroku
15
+
16
+ def self.perform
17
+ # do stuff
18
+ end
19
+ end
20
+
21
+
22
+
@@ -0,0 +1,22 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "resque-heroku/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "resque-heroku"
7
+ s.version = Resque::Heroku::VERSION
8
+ s.authors = ["Joe Johnston"]
9
+ s.email = ["joe@simple10.com"]
10
+ s.homepage = ""
11
+ s.summary = %q{Run Resque on Heroku}
12
+ s.description = %q{Handles establishing and disconnecting db connections when running Resque on Heroku cedar stack.}
13
+
14
+ s.rubyforge_project = "resque-heroku"
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ s.add_development_dependency "resque"
22
+ end
metadata ADDED
@@ -0,0 +1,65 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: resque-heroku
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Joe Johnston
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-09-12 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: resque
16
+ requirement: &2168651180 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: *2168651180
25
+ description: Handles establishing and disconnecting db connections when running Resque
26
+ on Heroku cedar stack.
27
+ email:
28
+ - joe@simple10.com
29
+ executables: []
30
+ extensions: []
31
+ extra_rdoc_files: []
32
+ files:
33
+ - .gitignore
34
+ - Gemfile
35
+ - Rakefile
36
+ - lib/resque-heroku.rb
37
+ - lib/resque-heroku/version.rb
38
+ - lib/tasks/resque.rake
39
+ - readme.rdoc
40
+ - resque-heroku.gemspec
41
+ homepage: ''
42
+ licenses: []
43
+ post_install_message:
44
+ rdoc_options: []
45
+ require_paths:
46
+ - lib
47
+ required_ruby_version: !ruby/object:Gem::Requirement
48
+ none: false
49
+ requirements:
50
+ - - ! '>='
51
+ - !ruby/object:Gem::Version
52
+ version: '0'
53
+ required_rubygems_version: !ruby/object:Gem::Requirement
54
+ none: false
55
+ requirements:
56
+ - - ! '>='
57
+ - !ruby/object:Gem::Version
58
+ version: '0'
59
+ requirements: []
60
+ rubyforge_project: resque-heroku
61
+ rubygems_version: 1.8.6
62
+ signing_key:
63
+ specification_version: 3
64
+ summary: Run Resque on Heroku
65
+ test_files: []