rabbithole 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7e11d35fe87a9333074b8c70cf7a91711a9ebdc4
4
- data.tar.gz: a076cc979a224222bd782f8621471ffed4269900
3
+ metadata.gz: 706942dfa06a6e05466a3d939c55532a2deed660
4
+ data.tar.gz: 1e5c8868486b62397c5bcbe5f3ee55d3da9dd90e
5
5
  SHA512:
6
- metadata.gz: 47c4e22b1ca425e9bc315a72fbc20f8ff32d5baa9864aab01c59f8f3a5ffa3717a9e54ce02348e3e033d1ac8874a74929be13d4da209b4a0d9473f1191542cac
7
- data.tar.gz: 26d019f76e0e22f0b7c943c29f6d158f57340659baab6fd25844dcfc55d7028188346e4daacdeba79bce15c8c70a7b91c4ba8235e3b8b6129b983fc41fb0dafe
6
+ metadata.gz: a3fea997bc2c26ccbd2d0ee52cc9acfa515a59985574e7eb6fe98ace6226a3c5592621ba54605fb593e5816f5bde5d48d4c5b3fcecf512e40139390024542be5
7
+ data.tar.gz: 524408dd6c35f7201e5803128f764bc7e22fc77d98ad8184be915214012ab78eeea895a29b9a95222893ca5a80022319d3a6fc46ee933904c6946a08308cf39e
data/Gemfile CHANGED
@@ -6,7 +6,6 @@ group :test do
6
6
  gem 'rake'
7
7
  gem 'rspec', '~> 2.14'
8
8
  gem 'coveralls', :require => false, :platform => [:ruby_19, :ruby_20]
9
- gem 'pry', '~> 0.9'
10
9
  end
11
10
 
12
11
  group :development do
data/README.md CHANGED
@@ -29,7 +29,8 @@ Or install it yourself as:
29
29
 
30
30
  ## Usage
31
31
 
32
- Define a job, make sure it has a `perform` method:
32
+ ### Defining jobs
33
+ When defining a job, make sure it has a `perform` method:
33
34
  ```ruby
34
35
  class MyAwesomeJob
35
36
  def self.perform
@@ -38,12 +39,32 @@ class MyAwesomeJob
38
39
  end
39
40
  ```
40
41
 
41
- Enqueue the job:
42
+ ### Enqueueing jobs:
42
43
  ```ruby
43
44
  Rabbithole.enqueue MyAwesomeJob
44
45
  ```
45
46
 
46
- Be done with it.
47
+ You can pass arguments to the perform method like so:
48
+ ```ruby
49
+ Rabbithole.enqueue MyAwesomeJob, arg1, arg2
50
+ ```
51
+
52
+ Gotchas:
53
+
54
+ * The number of arguments you pass in has to match the arity of your perform function.
55
+ * Also Hash keys will end up as strings in the perform function, even if they were passed as symbols.
56
+ * Only serializable arguments are supported. Passing in arbitrary objects will not work.
57
+
58
+ ### Running jobs
59
+ You will have to invoke the binary and specify the queues you want to execute. **As opposed to resque, the queue * denotes the default queue, not all queues!**
60
+
61
+ Example:
62
+
63
+ bundle exec rabbithole work --queues "*" cache
64
+
65
+ For further options type `rabbithole help work`.
66
+
67
+
47
68
 
48
69
  ## Contributing
49
70
 
@@ -3,8 +3,8 @@ module Rabbithole
3
3
  class << self
4
4
  @@registered_handler = Rabbithole::ErrorHandlers::RaiseHandler
5
5
 
6
- def handle(error)
7
- @@registered_handler.handle(error)
6
+ def handle(error, queue, payload)
7
+ @@registered_handler.handle(error, queue, payload)
8
8
  end
9
9
 
10
10
  def register_handler(handler)
@@ -1,7 +1,7 @@
1
1
  module Rabbithole
2
2
  module ErrorHandlers
3
3
  class NullHandler
4
- def self.handle(error)
4
+ def self.handle(error, queue, payload)
5
5
  # do nothing
6
6
  end
7
7
  end
@@ -1,7 +1,7 @@
1
1
  module Rabbithole
2
2
  module ErrorHandlers
3
3
  class RaiseHandler
4
- def self.handle(error)
4
+ def self.handle(error, queue, payload)
5
5
  raise error
6
6
  end
7
7
  end
@@ -1,6 +1,6 @@
1
1
  module Rabbithole
2
2
  VERSION_MAJOR = 0
3
3
  VERSION_MINOR = 0
4
- VERSION_RELEASE = 1
4
+ VERSION_RELEASE = 2
5
5
  VERSION = [VERSION_MAJOR, VERSION_MINOR, VERSION_RELEASE].collect(&:to_s).join('.').freeze
6
6
  end
@@ -29,7 +29,7 @@ module Rabbithole
29
29
  @channel.acknowledge(delivery_info.delivery_tag, false)
30
30
  rescue => e
31
31
  @channel.reject(delivery_info.delivery_tag, !delivery_info.redelivered)
32
- ErrorHandler.handle(e)
32
+ ErrorHandler.handle(e, queue.name, payload)
33
33
  end
34
34
  end
35
35
  end
data/spec/spec_helper.rb CHANGED
@@ -4,7 +4,6 @@ if RUBY_VERSION =~ /^(1\.9|2)/
4
4
  end
5
5
 
6
6
  require 'rspec'
7
- require 'pry'
8
7
 
9
8
  ROOT = Pathname.new(__FILE__).dirname.join('..')
10
9
  require ROOT.join('lib', 'rabbithole')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rabbithole
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Schaefermeyer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-08 00:00:00.000000000 Z
11
+ date: 2013-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bunny