rabbit-wq 1.5.0 → 1.6.0
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 +4 -4
- data/README.md +24 -0
- data/lib/rabbit_wq/message_handler.rb +13 -1
- data/lib/rabbit_wq/version.rb +1 -1
- data/lib/rabbit_wq/worker.rb +10 -0
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 0568de9c0fec913fcfd1095ff871c2950425caec
         | 
| 4 | 
            +
              data.tar.gz: e518eaa0d76830ac505aeee415bc0fbf283447d4
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: a3ebfaafb03242620189e60586d2444b1ef3ba07c1f9fa01026e68b66bb4e6a84b9ee2205345e6ce3dd08c8ee6a26bec3241aa6f33c096e1ab22bba5e7dbd883
         | 
| 7 | 
            +
              data.tar.gz: 1f8f34bc53f4ac2e83a7db41a8cc018b65fb7785c8480075c50f81500c4347aa33d5f9c3e5a592e5a8e204324d935f67d71b87c831b6e4836ffcb14e63877ca1
         | 
    
        data/README.md
    CHANGED
    
    | @@ -117,6 +117,30 @@ Called when an error is raised and either no retries were requested or are remai | |
| 117 117 |  | 
| 118 118 | 
             
            Called when an error is raised and a retry will be attempted.
         | 
| 119 119 |  | 
| 120 | 
            +
            ### Disabling a Worker
         | 
| 121 | 
            +
             | 
| 122 | 
            +
            A worker can be disabled by overriding the #enabled? method.
         | 
| 123 | 
            +
             | 
| 124 | 
            +
                class SomeWorker
         | 
| 125 | 
            +
                  include RabbitWQ::Worker
         | 
| 126 | 
            +
             | 
| 127 | 
            +
                  def enabled?
         | 
| 128 | 
            +
                    # some logic to determine enabled
         | 
| 129 | 
            +
                  end
         | 
| 130 | 
            +
                end
         | 
| 131 | 
            +
             | 
| 132 | 
            +
            By default, when a worker is disabled a log entry is created and the worker does no work and leaves hte work queue 
         | 
| 133 | 
            +
            system.  In order to have the worker sent to the error queue if disabled, simply override the #error_on_disabled? method:
         | 
| 134 | 
            +
             | 
| 135 | 
            +
                class SomeWorker
         | 
| 136 | 
            +
                  include RabbitWQ::Worker
         | 
| 137 | 
            +
             | 
| 138 | 
            +
                  def error_on_disabled?
         | 
| 139 | 
            +
                    true
         | 
| 140 | 
            +
                  end
         | 
| 141 | 
            +
                end
         | 
| 142 | 
            +
             | 
| 143 | 
            +
             | 
| 120 144 | 
             
            ### Logging
         | 
| 121 145 |  | 
| 122 146 | 
             
            RabbitWQ provides a work logger that is available within all workers.  You must send a reference to self
         | 
| @@ -20,7 +20,7 @@ module RabbitWQ | |
| 20 20 |  | 
| 21 21 | 
             
                  worker = YAML::load( payload )
         | 
| 22 22 | 
             
                  info ANSI.yellow { "WORKER [#{worker.object_id}] " + worker.inspect }
         | 
| 23 | 
            -
                  worker | 
| 23 | 
            +
                  handle_work( worker, payload )
         | 
| 24 24 | 
             
                  try_on_success_callback( worker )
         | 
| 25 25 | 
             
                  channel.ack delivery_info.delivery_tag
         | 
| 26 26 | 
             
                rescue => e
         | 
| @@ -29,6 +29,18 @@ module RabbitWQ | |
| 29 29 |  | 
| 30 30 | 
             
              protected
         | 
| 31 31 |  | 
| 32 | 
            +
                def handle_work( worker, payload )
         | 
| 33 | 
            +
                  unless worker.enabled?
         | 
| 34 | 
            +
                    if worker.error_on_disabled?
         | 
| 35 | 
            +
                      Work.enqueue_error_payload( payload, error: "Worker disabled" )
         | 
| 36 | 
            +
                    end
         | 
| 37 | 
            +
                    worker_info( worker, "Worker disabled" )
         | 
| 38 | 
            +
                    return
         | 
| 39 | 
            +
                  end
         | 
| 40 | 
            +
             | 
| 41 | 
            +
                  worker.call
         | 
| 42 | 
            +
                end
         | 
| 43 | 
            +
             | 
| 32 44 | 
             
                def handle_error( worker, e, channel, delivery_info, payload, metadata )
         | 
| 33 45 | 
             
                  headers = metadata[:headers]
         | 
| 34 46 |  | 
    
        data/lib/rabbit_wq/version.rb
    CHANGED
    
    
    
        data/lib/rabbit_wq/worker.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: rabbit-wq
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1. | 
| 4 | 
            +
              version: 1.6.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - C. Jason Harrelson
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2014-03- | 
| 11 | 
            +
            date: 2014-03-07 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         |