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 +4 -0
- data/Gemfile +4 -0
- data/Rakefile +1 -0
- data/lib/resque-heroku.rb +19 -0
- data/lib/resque-heroku/version.rb +5 -0
- data/lib/tasks/resque.rake +14 -0
- data/readme.rdoc +22 -0
- data/resque-heroku.gemspec +22 -0
- metadata +65 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
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,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: []
|