jflow 0.4.5 → 0.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 +8 -0
- data/lib/jflow/activity/task.rb +15 -0
- data/lib/jflow/activity/worker.rb +1 -0
- data/lib/jflow/configuration.rb +2 -1
- data/lib/jflow/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: 960a8f21a063f379ca90a83d8ff0755251d6de18
         | 
| 4 | 
            +
              data.tar.gz: 1b18e34ab879287ff16008aac79c2d4604688250
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 4a32307b41cefa618afb109e24d4c45b92ca9a9493d3558c4aa6fcd62306f28a0336e070a96c9344faa329db77eea9ed98ba48422d778dacba35cb579487e4d6
         | 
| 7 | 
            +
              data.tar.gz: 6051f0c1c0063372303d76c51d136b53554912b42d26ead5847cee611ea6579c995a026a1a96cf4c0436da238fb0a3a277df4aaa5280d10b5f610bf56e49c8c4
         | 
    
        data/README.md
    CHANGED
    
    | @@ -71,6 +71,14 @@ Example of a worker.json | |
| 71 71 | 
             
            }
         | 
| 72 72 | 
             
            ```
         | 
| 73 73 |  | 
| 74 | 
            +
            ### Error Handlers
         | 
| 75 | 
            +
             | 
| 76 | 
            +
            You can attach your own error handler for error logging or exception handling by providing a service that responds to `call(exception)`. If you are using Sentry, you can add Raven as error handler:
         | 
| 77 | 
            +
             | 
| 78 | 
            +
            ```ruby
         | 
| 79 | 
            +
            JFlow.configuration.error_handlers << Proc.new { |e| Raven.capture_exception(e) }
         | 
| 80 | 
            +
            ```
         | 
| 81 | 
            +
             | 
| 74 82 | 
             
            ## Development
         | 
| 75 83 |  | 
| 76 84 | 
             
            After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
         | 
    
        data/lib/jflow/activity/task.rb
    CHANGED
    
    | @@ -91,6 +91,17 @@ module JFlow | |
| 91 91 | 
             
                    )
         | 
| 92 92 | 
             
                  end
         | 
| 93 93 |  | 
| 94 | 
            +
                  def handle_exception(exception)
         | 
| 95 | 
            +
                    JFlow.configuration.error_handlers.each do |error_handler|
         | 
| 96 | 
            +
                      begin
         | 
| 97 | 
            +
                        error_handler.call(exception)
         | 
| 98 | 
            +
                      rescue => e
         | 
| 99 | 
            +
                        log_error("Error handler failed!")
         | 
| 100 | 
            +
                        log_error(e.backtrace.join("\n")) unless e.backtrace.nil?
         | 
| 101 | 
            +
                      end
         | 
| 102 | 
            +
                    end
         | 
| 103 | 
            +
                  end
         | 
| 104 | 
            +
             | 
| 94 105 | 
             
                  private
         | 
| 95 106 |  | 
| 96 107 | 
             
                  def retryable?(exception)
         | 
| @@ -113,6 +124,10 @@ module JFlow | |
| 113 124 | 
             
                  def log(str)
         | 
| 114 125 | 
             
                    JFlow.configuration.logger.info "[#{Thread.current.object_id}] #{str}"
         | 
| 115 126 | 
             
                  end
         | 
| 127 | 
            +
             | 
| 128 | 
            +
                  def log_error(str)
         | 
| 129 | 
            +
                    JFlow.configuration.logger.error "[#{Thread.current.object_id}] #{str}"
         | 
| 130 | 
            +
                  end
         | 
| 116 131 | 
             
                end
         | 
| 117 132 | 
             
              end
         | 
| 118 133 | 
             
            end
         | 
    
        data/lib/jflow/configuration.rb
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            module JFlow
         | 
| 2 2 | 
             
              class Configuration
         | 
| 3 3 |  | 
| 4 | 
            -
                attr_accessor :swf_client, :load_paths, :logger, :activity_map, :cloudwatch_client
         | 
| 4 | 
            +
                attr_accessor :swf_client, :load_paths, :logger, :activity_map, :cloudwatch_client, :error_handlers
         | 
| 5 5 |  | 
| 6 6 | 
             
                def initialize
         | 
| 7 7 | 
             
                  @swf_client        = nil
         | 
| @@ -9,6 +9,7 @@ module JFlow | |
| 9 9 | 
             
                  @load_paths        = []
         | 
| 10 10 | 
             
                  @logger            = Logger.new(STDOUT)
         | 
| 11 11 | 
             
                  @activity_map      = JFlow::Activity::Map.new
         | 
| 12 | 
            +
                  @error_handlers    = []
         | 
| 12 13 | 
             
                end
         | 
| 13 14 | 
             
              end
         | 
| 14 15 | 
             
            end
         | 
    
        data/lib/jflow/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: jflow
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.5.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Christophe Verbinnen
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire:
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2016-05- | 
| 12 | 
            +
            date: 2016-05-19 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: aws-sdk
         |