Class: Actions::Middleware::RailsExecutorWrap
- Inherits:
 - 
      Dynflow::Middleware
      
        
- Object
 - Dynflow::Middleware
 - Actions::Middleware::RailsExecutorWrap
 
 
- Defined in:
 - app/lib/actions/middleware/rails_executor_wrap.rb
 
Overview
In development with Rails auto-reloading and using ‘sync_task` method, it could lead to dead-locking due to the Rails main thread locking the the class loader.
This middleware marks the part of the code that can use the auto-loader so that Rails know they should avoid the locking there. See github.com/ruby-concurrency/concurrent-ruby/issues/585#issuecomment-256131537 for more details.
Instance Method Summary collapse
Instance Method Details
#finalize ⇒ Object
      18 19 20 21 22  | 
    
      # File 'app/lib/actions/middleware/rails_executor_wrap.rb', line 18 def finalize ::Rails.application.executor.wrap do pass end end  | 
  
#run(*args) ⇒ Object
      12 13 14 15 16  | 
    
      # File 'app/lib/actions/middleware/rails_executor_wrap.rb', line 12 def run(*args) ::Rails.application.executor.wrap do pass(*args) end end  |