nsq-ruby 1.4.0 → 1.5.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 +28 -1
- data/lib/nsq/consumer.rb +13 -0
- data/lib/version.rb +1 -1
- 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: 1cc303464874107233049891324ba89f7fdabeb9
         | 
| 4 | 
            +
              data.tar.gz: f8f0d0d615f723893babdca18401221c0f86bbf8
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: f797afecb530034108857cfee09ff0fb17d41d715d80cb1f10dfc527801de8ebc1cd707348908e743108a61ebddd942f1f964cadf4abb452d7a9f749572bb75d
         | 
| 7 | 
            +
              data.tar.gz: b34ed2daeed5f863b6f81cf53d787fb4d11bbda45eaeabc01e5a75c33f9a7373ff72aadb4731ac7ca2b9df272ac15486dd97e59248acb7f8d0471937ba67ed89
         | 
    
        data/README.md
    CHANGED
    
    | @@ -187,6 +187,32 @@ message = consumer.pop | |
| 187 187 | 
             
            If there are messages on the queue, `pop` will return one immediately. If there
         | 
| 188 188 | 
             
            are no messages on the queue, `pop` will block execution until one arrives.
         | 
| 189 189 |  | 
| 190 | 
            +
            Be aware, while `#pop` is blocking, your process will be unresponsive.  This
         | 
| 191 | 
            +
            can be a problem in certain cases, like if you're trying to gracefully restart
         | 
| 192 | 
            +
            a worker process by sending it a `TERM` signal. See `#pop_without_blocking` for
         | 
| 193 | 
            +
            information on how to mitigate this issue.
         | 
| 194 | 
            +
             | 
| 195 | 
            +
             | 
| 196 | 
            +
            ### `#pop_without_blocking`
         | 
| 197 | 
            +
             | 
| 198 | 
            +
            This is just like `#pop` except it doesn't block. It always returns immediately.
         | 
| 199 | 
            +
            If there are no messages in the queue, it will return `nil`.
         | 
| 200 | 
            +
             | 
| 201 | 
            +
            If you're consuming from a low-volume topic and don't want to get stuck in a
         | 
| 202 | 
            +
            blocking state, you can use this method to consume messages like so:
         | 
| 203 | 
            +
             | 
| 204 | 
            +
            ```Ruby
         | 
| 205 | 
            +
            loop do
         | 
| 206 | 
            +
              if msg = @messages.pop_without_blocking
         | 
| 207 | 
            +
                # do something
         | 
| 208 | 
            +
                msg.finish
         | 
| 209 | 
            +
              else
         | 
| 210 | 
            +
                # wait for a bit before checking for new messages
         | 
| 211 | 
            +
                sleep 0.01
         | 
| 212 | 
            +
              end
         | 
| 213 | 
            +
            end
         | 
| 214 | 
            +
            ```
         | 
| 215 | 
            +
             | 
| 190 216 |  | 
| 191 217 | 
             
            ### `#size`
         | 
| 192 218 |  | 
| @@ -301,11 +327,12 @@ millions of messages a day. | |
| 301 327 | 
             
            - Robby Grossman (@freerobby)
         | 
| 302 328 | 
             
            - Brendan Schwartz (@bschwartz)
         | 
| 303 329 | 
             
            - Marshall Moutenot (@mmoutenot)
         | 
| 330 | 
            +
            - Danielle Sucher (@DanielleSucher)
         | 
| 304 331 |  | 
| 305 332 |  | 
| 306 333 | 
             
            ## MIT License
         | 
| 307 334 |  | 
| 308 | 
            -
            Copyright (C)  | 
| 335 | 
            +
            Copyright (C) 2016 Wistia, Inc.
         | 
| 309 336 |  | 
| 310 337 | 
             
            Permission is hereby granted, free of charge, to any person obtaining a copy of
         | 
| 311 338 | 
             
            this software and associated documentation files (the "Software"), to deal in
         | 
    
        data/lib/nsq/consumer.rb
    CHANGED
    
    | @@ -48,6 +48,19 @@ module Nsq | |
| 48 48 | 
             
                end
         | 
| 49 49 |  | 
| 50 50 |  | 
| 51 | 
            +
                # By default, if the internal queue is empty, pop will block until
         | 
| 52 | 
            +
                # a new message comes in.
         | 
| 53 | 
            +
                #
         | 
| 54 | 
            +
                # Calling this method won't block. If there are no messages, it just
         | 
| 55 | 
            +
                # returns nil.
         | 
| 56 | 
            +
                def pop_without_blocking
         | 
| 57 | 
            +
                  @messages.pop(true)
         | 
| 58 | 
            +
                rescue ThreadError
         | 
| 59 | 
            +
                  # When the Queue is empty calling `Queue#pop(true)` will raise a ThreadError
         | 
| 60 | 
            +
                  nil
         | 
| 61 | 
            +
                end
         | 
| 62 | 
            +
             | 
| 63 | 
            +
             | 
| 51 64 | 
             
                # returns the number of messages we have locally in the queue
         | 
| 52 65 | 
             
                def size
         | 
| 53 66 | 
             
                  @messages.size
         | 
    
        data/lib/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: nsq-ruby
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1. | 
| 4 | 
            +
              version: 1.5.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Wistia
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2015- | 
| 11 | 
            +
            date: 2015-12-20 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         |