rabbithole 0.0.1 → 0.0.2

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.
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