foreman-tasks 0.6.2 → 0.6.3

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.
@@ -16,7 +16,7 @@ module ForemanTasks
16
16
  def cancel_step
17
17
  task = find_task
18
18
  flash[:notice] = _("Trying to cancel step %s") % params[:step_id]
19
- ForemanTasks.dynflow.world.event(task.external_id, params[:step_id].to_i, ::Dynflow::Action::Cancellable::Cancel)
19
+ ForemanTasks.dynflow.world.event(task.external_id, params[:step_id].to_i, ::Dynflow::Action::Cancellable::Cancel).wait
20
20
  redirect_to foreman_tasks_task_path(task)
21
21
  end
22
22
 
@@ -74,6 +74,22 @@ module ForemanTasks
74
74
  end
75
75
  end
76
76
 
77
+ def increase_db_pool_size?
78
+ ForemanTasks.dynflow.required? && !remote? && !Rails.env.test?
79
+ end
80
+
81
+ # To avoid pottential timeouts on db connection pool, make sure
82
+ # we have the pool bigger than the thread pool
83
+ def increase_db_pool_size
84
+ if increase_db_pool_size?
85
+ ActiveRecord::Base.connection_pool.disconnect!
86
+
87
+ config = ActiveRecord::Base.configurations[Rails.env]
88
+ config['pool'] = db_pool_size if config['pool'].to_i < db_pool_size
89
+ ActiveRecord::Base.establish_connection(config)
90
+ end
91
+ end
92
+
77
93
  protected
78
94
 
79
95
  # generates the options hash consumable by the Dynflow's world
@@ -88,7 +104,7 @@ module ForemanTasks
88
104
  def default_sequel_adapter_options
89
105
  db_config = ActiveRecord::Base.configurations[Rails.env].dup
90
106
  db_config['adapter'] = 'postgres' if db_config['adapter'] == 'postgresql'
91
- db_config['max_connections'] = db_config['pool'] if db_config['pool']
107
+ db_config['max_connections'] = db_pool_size if increase_db_pool_size?
92
108
 
93
109
  if db_config['adapter'] == 'sqlite3'
94
110
  db_config['adapter'] = 'sqlite'
@@ -112,20 +128,8 @@ module ForemanTasks
112
128
 
113
129
  # Sequel adapter based on Rails app database.yml configuration
114
130
  def initialize_persistence
115
- if !remote && !Rails.env.test?
116
- increase_db_pool_size
117
- end
118
131
  ForemanTasks::Dynflow::Persistence.new(default_sequel_adapter_options)
119
132
  end
120
133
 
121
- # To avoid pottential timeouts on db connection pool, make sure
122
- # we have the pool bigger than the thread pool
123
- def increase_db_pool_size
124
- ActiveRecord::Base.connection_pool.disconnect!
125
-
126
- config = ActiveRecord::Base.configurations[Rails.env]
127
- config['pool'] = db_pool_size if config['pool'].to_i < db_pool_size
128
- ActiveRecord::Base.establish_connection(config)
129
- end
130
134
  end
131
135
  end
@@ -58,6 +58,8 @@ module ForemanTasks
58
58
  ForemanTasks.dynflow.eager_load_actions!
59
59
  end
60
60
 
61
+ ForemanTasks.dynflow.config.increase_db_pool_size
62
+
61
63
  unless ForemanTasks.dynflow.config.lazy_initialization
62
64
  if defined?(PhusionPassenger)
63
65
  PhusionPassenger.on_event(:starting_worker_process) do |forked|
@@ -1,3 +1,3 @@
1
1
  module ForemanTasks
2
- VERSION = "0.6.2"
2
+ VERSION = "0.6.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman-tasks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.6.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-06-16 00:00:00.000000000 Z
12
+ date: 2014-06-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails