iudex-worker 1.3.0-java → 1.3.1-java
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.
- data/History.rdoc +4 -0
 - data/init/iudex-worker +1 -1
 - data/lib/iudex-worker/agent.rb +28 -25
 - data/lib/iudex-worker/base.rb +1 -1
 - data/test/test_agent.rb +13 -0
 - metadata +2 -2
 
    
        data/History.rdoc
    CHANGED
    
    
    
        data/init/iudex-worker
    CHANGED
    
    
    
        data/lib/iudex-worker/agent.rb
    CHANGED
    
    | 
         @@ -86,45 +86,48 @@ module Iudex 
     | 
|
| 
       86 
86 
     | 
    
         | 
| 
       87 
87 
     | 
    
         
             
                  def run
         
     | 
| 
       88 
88 
     | 
    
         
             
                    Hooker.with( :iudex ) do
         
     | 
| 
       89 
     | 
    
         
            -
                       
     | 
| 
       90 
     | 
    
         
            -
             
     | 
| 
      
 89 
     | 
    
         
            +
                      run_safe
         
     | 
| 
      
 90 
     | 
    
         
            +
                    end
         
     | 
| 
      
 91 
     | 
    
         
            +
                  end
         
     | 
| 
       91 
92 
     | 
    
         | 
| 
       92 
     | 
    
         
            -
             
     | 
| 
       93 
     | 
    
         
            -
             
     | 
| 
       94 
     | 
    
         
            -
             
     | 
| 
      
 93 
     | 
    
         
            +
                  def run_safe
         
     | 
| 
      
 94 
     | 
    
         
            +
                    dsf = PoolDataSourceFactory.new
         
     | 
| 
      
 95 
     | 
    
         
            +
                    data_source = dsf.create
         
     | 
| 
       95 
96 
     | 
    
         | 
| 
       96 
     | 
    
         
            -
             
     | 
| 
      
 97 
     | 
    
         
            +
                    wpoller = work_poller( data_source )
         
     | 
| 
      
 98 
     | 
    
         
            +
                    vexec = visit_manager( wpoller )
         
     | 
| 
      
 99 
     | 
    
         
            +
                    vexec.start_executor
         
     | 
| 
       97 
100 
     | 
    
         | 
| 
       98 
     | 
    
         
            -
             
     | 
| 
       99 
     | 
    
         
            -
                      fcf.http_client = hclient
         
     | 
| 
       100 
     | 
    
         
            -
                      fcf.data_source = data_source
         
     | 
| 
       101 
     | 
    
         
            -
                      fcf.visit_counter = vexec
         
     | 
| 
      
 101 
     | 
    
         
            +
                    hclient = http_client( vexec.executor )
         
     | 
| 
       102 
102 
     | 
    
         | 
| 
       103 
     | 
    
         
            -
             
     | 
| 
       104 
     | 
    
         
            -
             
     | 
| 
       105 
     | 
    
         
            -
             
     | 
| 
      
 103 
     | 
    
         
            +
                    fcf = filter_chain_factory
         
     | 
| 
      
 104 
     | 
    
         
            +
                    fcf.http_client = hclient
         
     | 
| 
      
 105 
     | 
    
         
            +
                    fcf.data_source = data_source
         
     | 
| 
      
 106 
     | 
    
         
            +
                    fcf.visit_counter = vexec
         
     | 
| 
       106 
107 
     | 
    
         | 
| 
       107 
     | 
    
         
            -
             
     | 
| 
      
 108 
     | 
    
         
            +
                    # FilterChain's executor is the same executor, unless using
         
     | 
| 
      
 109 
     | 
    
         
            +
                    # HTTPClient3, where executor is best not used
         
     | 
| 
      
 110 
     | 
    
         
            +
                    fcf.executor = vexec.executor unless @http_manager
         
     | 
| 
       108 
111 
     | 
    
         | 
| 
       109 
     | 
    
         
            -
             
     | 
| 
       110 
     | 
    
         
            -
                        vexec.filter_chain = chain
         
     | 
| 
      
 112 
     | 
    
         
            +
                    Hooker.apply( [ :iudex, :filter_factory ], fcf )
         
     | 
| 
       111 
113 
     | 
    
         | 
| 
       112 
     | 
    
         
            -
             
     | 
| 
      
 114 
     | 
    
         
            +
                    fcf.filter do |chain|
         
     | 
| 
      
 115 
     | 
    
         
            +
                      vexec.filter_chain = chain
         
     | 
| 
       113 
116 
     | 
    
         | 
| 
       114 
     | 
    
         
            -
             
     | 
| 
       115 
     | 
    
         
            -
                        vexec.join    #Run until interrupted
         
     | 
| 
       116 
     | 
    
         
            -
                      end # fcf closes
         
     | 
| 
      
 117 
     | 
    
         
            +
                      Hooker.log_not_applied # All hooks should be used by now
         
     | 
| 
       117 
118 
     | 
    
         | 
| 
       118 
     | 
    
         
            -
                       
     | 
| 
       119 
     | 
    
         
            -
                       
     | 
| 
      
 119 
     | 
    
         
            +
                      vexec.start
         
     | 
| 
      
 120 
     | 
    
         
            +
                      vexec.join # Run until interrupted
         
     | 
| 
      
 121 
     | 
    
         
            +
                    end # fcf closes
         
     | 
| 
       120 
122 
     | 
    
         | 
| 
       121 
     | 
    
         
            -
                      dsf.close
         
     | 
| 
       122 
     | 
    
         
            -
                    end
         
     | 
| 
       123 
123 
     | 
    
         
             
                  rescue => e
         
     | 
| 
       124 
124 
     | 
    
         
             
                    @log.error( "On run: ", e )
         
     | 
| 
      
 125 
     | 
    
         
            +
                  ensure
         
     | 
| 
      
 126 
     | 
    
         
            +
                    hclient.close if hclient && hclient.respond_to?( :close )
         
     | 
| 
      
 127 
     | 
    
         
            +
                    @http_manager.shutdown if @http_manager
         
     | 
| 
      
 128 
     | 
    
         
            +
                    dsf.close if dsf
         
     | 
| 
       125 
129 
     | 
    
         
             
                  end
         
     | 
| 
       126 
130 
     | 
    
         | 
| 
       127 
131 
     | 
    
         
             
                end
         
     | 
| 
       128 
     | 
    
         
            -
             
     | 
| 
       129 
132 
     | 
    
         
             
              end
         
     | 
| 
       130 
133 
     | 
    
         
             
            end
         
     | 
    
        data/lib/iudex-worker/base.rb
    CHANGED
    
    
    
        data/test/test_agent.rb
    CHANGED
    
    | 
         @@ -69,6 +69,19 @@ class TestAgent < MiniTest::Unit::TestCase 
     | 
|
| 
       69 
69 
     | 
    
         
             
                Iudex.send( :remove_const, :AsyncHTTPClient )
         
     | 
| 
       70 
70 
     | 
    
         
             
              end
         
     | 
| 
       71 
71 
     | 
    
         | 
| 
      
 72 
     | 
    
         
            +
              def test_agent_graceful_shutdown_on_fcf_error
         
     | 
| 
      
 73 
     | 
    
         
            +
                Hooker.add( [ :iudex, :filter_factory ] ) do |fcf|
         
     | 
| 
      
 74 
     | 
    
         
            +
                  def fcf.filters
         
     | 
| 
      
 75 
     | 
    
         
            +
                    super
         
     | 
| 
      
 76 
     | 
    
         
            +
                    raise "Test Badness in FCF"
         
     | 
| 
      
 77 
     | 
    
         
            +
                  end
         
     | 
| 
      
 78 
     | 
    
         
            +
                end
         
     | 
| 
      
 79 
     | 
    
         
            +
             
     | 
| 
      
 80 
     | 
    
         
            +
                agent = Agent.new
         
     | 
| 
      
 81 
     | 
    
         
            +
                agent.run
         
     | 
| 
      
 82 
     | 
    
         
            +
                pass # returns
         
     | 
| 
      
 83 
     | 
    
         
            +
              end
         
     | 
| 
      
 84 
     | 
    
         
            +
             
     | 
| 
       72 
85 
     | 
    
         
             
              def assert_agent
         
     | 
| 
       73 
86 
     | 
    
         | 
| 
       74 
87 
     | 
    
         
             
                # Stub VisitManager.start to allow agent.run to return early.
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -2,14 +2,14 @@ 
     | 
|
| 
       2 
2 
     | 
    
         
             
            name: iudex-worker
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
4 
     | 
    
         
             
              prerelease:
         
     | 
| 
       5 
     | 
    
         
            -
              version: 1.3. 
     | 
| 
      
 5 
     | 
    
         
            +
              version: 1.3.1
         
     | 
| 
       6 
6 
     | 
    
         
             
            platform: java
         
     | 
| 
       7 
7 
     | 
    
         
             
            authors:
         
     | 
| 
       8 
8 
     | 
    
         
             
            - David Kellum
         
     | 
| 
       9 
9 
     | 
    
         
             
            autorequire:
         
     | 
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date: 2012-10- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2012-10-25 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
14 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
15 
     | 
    
         
             
              name: iudex-core
         
     |