PG::UndefinedTable: ERREUR: la relation « system_settings » n'existe pas
LINE 8: WHERE a.attrelid = '"system_settings"'::regclass
^
Extracted source (around line #19):
17
18
19
20
21
22
|
log(sql, name) do
ActiveSupport::Dependencies.interlock.permit_concurrent_loads do
@connection.async_exec(sql).map_types!(@type_map_for_results).values
end
end
end
|
Extracted source (around line #19):
17
18
19
20
21
22
|
log(sql, name) do
ActiveSupport::Dependencies.interlock.permit_concurrent_loads do
@connection.async_exec(sql).map_types!(@type_map_for_results).values
end
end
end
|
Extracted source (around line #48):
46
47
48
49
50
51
|
def permit_concurrent_loads
@lock.yield_shares(compatible: [:load]) do
yield
end
end
|
Extracted source (around line #187):
185
186
187
188
189
190
|
begin
yield
ensure
synchronize do
wait_for(:yield_shares) { @exclusive_thread && @exclusive_thread != Thread.current }
|
Extracted source (around line #47):
45
46
47
48
49
50
|
def permit_concurrent_loads
@lock.yield_shares(compatible: [:load]) do
yield
end
end
|
Extracted source (around line #18):
16
17
18
19
20
21
|
log(sql, name) do
ActiveSupport::Dependencies.interlock.permit_concurrent_loads do
@connection.async_exec(sql).map_types!(@type_map_for_results).values
end
end
|
Extracted source (around line #696):
694
695
696
697
698
699
|
connection: self) do
@lock.synchronize do
yield
end
rescue => e
raise translate_exception_class(e, sql, binds)
|
Extracted source (around line #26):
24
25
26
27
28
29
|
begin
Thread.handle_interrupt(EXCEPTION_IMMEDIATE) do
yield
end
ensure
mon_exit
|
Extracted source (around line #25):
23
24
25
26
27
28
|
begin
Thread.handle_interrupt(EXCEPTION_IMMEDIATE) do
yield
end
ensure
|
Extracted source (around line #25):
23
24
25
26
27
28
|
begin
Thread.handle_interrupt(EXCEPTION_IMMEDIATE) do
yield
end
ensure
|
Extracted source (around line #21):
19
20
21
22
23
24
|
def synchronize
Thread.handle_interrupt(EXCEPTION_NEVER) do
mon_enter
begin
|
Extracted source (around line #21):
19
20
21
22
23
24
|
def synchronize
Thread.handle_interrupt(EXCEPTION_NEVER) do
mon_enter
begin
|
Extracted source (around line #695):
693
694
695
696
697
698
|
statement_name: statement_name,
connection: self) do
@lock.synchronize do
yield
end
rescue => e
|
Extracted source (around line #24):
22
23
24
25
26
27
|
listeners_state = start name, payload
begin
yield payload if block_given?
rescue Exception => e
payload[:exception] = [e.class.name, e.message]
payload[:exception_object] = e
|
Extracted source (around line #687):
685
686
687
688
689
690
|
def log(sql, name = "SQL", binds = [], type_casted_binds = [], statement_name = nil) # :doc:
@instrumenter.instrument(
"sql.active_record",
sql: sql,
name: name,
|
Extracted source (around line #17):
15
16
17
18
19
20
|
mark_transaction_written_if_write(sql)
log(sql, name) do
ActiveSupport::Dependencies.interlock.permit_concurrent_loads do
@connection.async_exec(sql).map_types!(@type_map_for_results).values
end
|
Extracted source (around line #820):
818
819
820
821
822
823
|
# - ::regclass is a function that gives the id for a table name
def column_definitions(table_name)
query(<<~SQL, "SCHEMA")
SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod,
c.collname, col_description(a.attrelid, a.attnum) AS comment
|
Extracted source (around line #116):
114
115
116
117
118
119
|
def columns(table_name)
table_name = table_name.to_s
column_definitions(table_name).map do |field|
new_column_from_field(table_name, field)
end
end
|
Extracted source (around line #104):
102
103
104
105
106
107
|
def columns(table_name)
@columns.fetch(table_name) do
@columns[deep_deduplicate(table_name)] = deep_deduplicate(connection.columns(table_name))
end
end
|
Extracted source (around line #103):
101
102
103
104
105
106
|
# Get the columns for a table
def columns(table_name)
@columns.fetch(table_name) do
@columns[deep_deduplicate(table_name)] = deep_deduplicate(connection.columns(table_name))
end
end
|
Extracted source (around line #103):
101
102
103
104
105
106
|
# Get the columns for a table
def columns(table_name)
@columns.fetch(table_name) do
@columns[deep_deduplicate(table_name)] = deep_deduplicate(connection.columns(table_name))
end
end
|
Extracted source (around line #112):
110
111
112
113
114
115
|
def columns_hash(table_name)
@columns_hash.fetch(table_name) do
@columns_hash[deep_deduplicate(table_name)] = columns(table_name).index_by(&:name).freeze
end
end
|
Extracted source (around line #111):
109
110
111
112
113
114
|
# value is the column object.
def columns_hash(table_name)
@columns_hash.fetch(table_name) do
@columns_hash[deep_deduplicate(table_name)] = columns(table_name).index_by(&:name).freeze
end
end
|
Extracted source (around line #111):
109
110
111
112
113
114
|
# value is the column object.
def columns_hash(table_name)
@columns_hash.fetch(table_name) do
@columns_hash[deep_deduplicate(table_name)] = columns(table_name).index_by(&:name).freeze
end
end
|
Extracted source (around line #553):
551
552
553
554
555
556
|
end
columns_hash = connection.schema_cache.columns_hash(table_name)
columns_hash = columns_hash.except(*ignored_columns) unless ignored_columns.empty?
@columns_hash = columns_hash.freeze
@columns_hash.each do |name, column|
|
Extracted source (around line #250):
248
249
250
251
252
253
|
def load_schema! # :nodoc:
super
attributes_to_define_after_schema_loads.each do |name, (type, options)|
define_attribute(name, _lookup_cast_type(name, type, options), **options.slice(:default))
end
|
Extracted source (around line #539):
537
538
539
540
541
542
|
return if defined?(@columns_hash) && @columns_hash
load_schema!
@schema_loaded = true
rescue
|
Extracted source (around line #536):
534
535
536
537
538
539
|
def load_schema
return if schema_loaded?
@load_schema_monitor.synchronize do
return if defined?(@columns_hash) && @columns_hash
load_schema!
|
Extracted source (around line #536):
534
535
536
537
538
539
|
def load_schema
return if schema_loaded?
@load_schema_monitor.synchronize do
return if defined?(@columns_hash) && @columns_hash
load_schema!
|
Extracted source (around line #402):
400
401
402
403
404
405
|
def attribute_types # :nodoc:
load_schema
@attribute_types ||= Hash.new(Type.default_value)
end
|
Extracted source (around line #428):
426
427
428
429
430
431
|
attribute_types.fetch(attr_name, &block)
else
attribute_types[attr_name]
end
end
|
Extracted source (around line #16):
14
15
16
17
18
19
|
def type_for_attribute(name)
klass.type_for_attribute(name)
end
private
|
Extracted source (around line #108):
106
107
108
109
110
111
|
def type_for_attribute(name)
type_caster.type_for_attribute(name)
end
def able_to_type_cast?
|
Extracted source (around line #18):
16
17
18
19
20
21
|
def type(column_name)
arel_table.type_for_attribute(column_name)
end
def has_column?(column_name)
|
Extracted source (around line #63):
61
62
63
64
65
66
|
def build(attribute, value, operator = nil)
value = value.id if value.respond_to?(:id)
if operator ||= table.type(attribute.name).force_equality?(value) && :eq
bind = build_bind_attribute(attribute.name, value)
attribute.public_send(operator, bind)
else
|
Extracted source (around line #58):
56
57
58
59
60
61
|
def [](attr_name, value, operator = nil)
build(table.arel_table[attr_name], value, operator)
end
def build(attribute, value, operator = nil)
|
Extracted source (around line #131):
129
130
131
132
133
134
|
end
else
self[key, value]
end
end
end
|
Extracted source (around line #84):
82
83
84
85
86
87
|
return ["1=0"] if attributes.empty?
attributes.flat_map do |key, value|
if value.is_a?(Hash) && !table.has_column?(key)
table.associated_table(key, &block)
.predicate_builder.expand_from_hash(value.stringify_keys)
|
Extracted source (around line #84):
82
83
84
85
86
87
|
return ["1=0"] if attributes.empty?
attributes.flat_map do |key, value|
if value.is_a?(Hash) && !table.has_column?(key)
table.associated_table(key, &block)
.predicate_builder.expand_from_hash(value.stringify_keys)
|
Extracted source (around line #84):
82
83
84
85
86
87
|
return ["1=0"] if attributes.empty?
attributes.flat_map do |key, value|
if value.is_a?(Hash) && !table.has_column?(key)
table.associated_table(key, &block)
.predicate_builder.expand_from_hash(value.stringify_keys)
|
Extracted source (around line #29):
27
28
29
30
31
32
|
def build_from_hash(attributes, &block)
attributes = convert_dot_notation_to_hash(attributes)
expand_from_hash(attributes, &block)
end
def self.references(attributes)
|
Extracted source (around line #1091):
1089
1090
1091
1092
1093
1094
|
self.references_values |= references unless references.empty?
parts = predicate_builder.build_from_hash(opts) do |table_name|
lookup_table_klass_from_join_dependencies(table_name)
end
when Arel::Nodes::Node
|
Extracted source (around line #645):
643
644
645
646
647
648
|
def where!(opts, *rest) # :nodoc:
self.where_clause += build_where_clause(opts, rest)
self
end
|
Extracted source (around line #640):
638
639
640
641
642
643
|
self
else
spawn.where!(*args)
end
end
|
Extracted source (around line #22):
20
21
22
23
24
25
|
:pluck, :pick, :ids, :strict_loading
].freeze # :nodoc:
delegate(*QUERYING_METHODS, to: :all)
# Executes a custom SQL query against your database and returns all the results. The results will
# be returned as an array, with the requested columns encapsulated as attributes of the model you call
|
Extracted source (around line #1644):
1642
1643
1644
1645
1646
1647
|
Rails.cache.fetch("system_settings/#{key}") do
v = where(name: key.to_s).select(:value_type, :value).first
return nil if v.nil?
if v.boolean? then v.value == 'true'
elsif v.integer? then Integer(v.value)
|
Extracted source (around line #746):
744
745
746
747
748
749
|
def save_block_result_to_cache(name, options)
result = instrument(:generate, name, options) do
yield(name)
end
write(name, result, options) unless result.nil? && options[:skip_nil]
|
Extracted source (around line #720):
718
719
720
721
722
723
|
payload = { key: key, store: self.class.name }
payload.merge!(options) if options.is_a?(Hash)
ActiveSupport::Notifications.instrument("cache_#{operation}.active_support", payload) { yield(payload) }
end
def handle_expired_entry(entry, key, options)
|
Extracted source (around line #205):
203
204
205
206
207
208
|
instrumenter.instrument(name, payload) { yield payload if block_given? }
else
yield payload if block_given?
end
end
|
Extracted source (around line #720):
718
719
720
721
722
723
|
payload = { key: key, store: self.class.name }
payload.merge!(options) if options.is_a?(Hash)
ActiveSupport::Notifications.instrument("cache_#{operation}.active_support", payload) { yield(payload) }
end
def handle_expired_entry(entry, key, options)
|
Extracted source (around line #745):
743
744
745
746
747
748
|
def save_block_result_to_cache(name, options)
result = instrument(:generate, name, options) do
yield(name)
end
|
Extracted source (around line #337):
335
336
337
338
339
340
|
get_entry_value(entry, name, options)
else
save_block_result_to_cache(name, options, &block)
end
elsif options && options[:force]
raise ArgumentError, "Missing block: Calling `Cache#fetch` with `force: true` requires a block."
|
Extracted source (around line #1643):
1641
1642
1643
1644
1645
1646
|
# Make sure that cache is shared between all instances!
Rails.cache.fetch("system_settings/#{key}") do
v = where(name: key.to_s).select(:value_type, :value).first
return nil if v.nil?
if v.boolean? then v.value == 'true'
|
Extracted source (around line #1968):
1966
1967
1968
1969
1970
1971
|
self.arel_table[key]
else
self.get(key)
end
else
self.find(key)
|
Extracted source (around line #223):
221
222
223
224
225
226
|
def rescue_with_handler(exception)
if SystemSetting[:store_uncaught_exceptions]
UncaughtException.create_from_exception(self, exception, current_user)
if Rails.env.production?
flash[:warning] = _("An error occured during last action, you have been redirected.")
|
Extracted source (around line #25):
23
24
25
26
27
28
|
rescue Exception => exception
request.env["action_dispatch.show_detailed_exceptions"] ||= show_detailed_exceptions?
rescue_with_handler(exception) || raise
end
end
end
|
Extracted source (around line #21):
19
20
21
22
23
24
|
private
def process_action(*)
super
rescue Exception => exception
request.env["action_dispatch.show_detailed_exceptions"] ||= show_detailed_exceptions?
|
Extracted source (around line #34):
32
33
34
35
36
37
|
ActiveSupport::Notifications.instrument("process_action.action_controller", raw_payload) do |payload|
result = super
payload[:response] = response
payload[:status] = response.status
result
|
Extracted source (around line #203):
201
202
203
204
205
206
|
def instrument(name, payload = {})
if notifier.listening?(name)
instrumenter.instrument(name, payload) { yield payload if block_given? }
else
yield payload if block_given?
end
|
Extracted source (around line #24):
22
23
24
25
26
27
|
listeners_state = start name, payload
begin
yield payload if block_given?
rescue Exception => e
payload[:exception] = [e.class.name, e.message]
payload[:exception_object] = e
|
Extracted source (around line #203):
201
202
203
204
205
206
|
def instrument(name, payload = {})
if notifier.listening?(name)
instrumenter.instrument(name, payload) { yield payload if block_given? }
else
yield payload if block_given?
end
|
Extracted source (around line #33):
31
32
33
34
35
36
|
ActiveSupport::Notifications.instrument("start_processing.action_controller", raw_payload)
ActiveSupport::Notifications.instrument("process_action.action_controller", raw_payload) do |payload|
result = super
payload[:response] = response
payload[:status] = response.status
|
Extracted source (around line #249):
247
248
249
250
251
252
|
def process_action(*)
_perform_parameter_wrapping if _wrapper_enabled?
super
end
private
|
Extracted source (around line #27):
25
26
27
28
29
30
|
# and it won't be cleaned up by the method below.
ActiveRecord::LogSubscriber.reset_runtime
super
end
def cleanup_view_runtime
|
Extracted source (around line #165):
163
164
165
166
167
168
|
@_response_body = nil
process_action(action_name, *args)
end
# Delegates to the class' ::controller_path
|
Extracted source (around line #39):
37
38
39
40
41
42
|
def process(*) #:nodoc:
old_config, I18n.config = I18n.config, I18nProxy.new(I18n.config, lookup_context)
super
ensure
I18n.config = old_config
end
|
Extracted source (around line #190):
188
189
190
191
192
193
|
set_request!(request)
set_response!(response)
process(name)
request.commit_flash
to_a
end
|
Extracted source (around line #254):
252
253
254
255
256
257
|
middleware_stack.build(name) { |env| new.dispatch(name, req, res) }.call req.env
else
new.dispatch(name, req, res)
end
end
end
|
Extracted source (around line #50):
48
49
50
51
52
53
|
def dispatch(controller, action, req, res)
controller.dispatch(action, req, res)
end
end
|
Extracted source (around line #33):
31
32
33
34
35
36
|
controller = controller req
res = controller.make_response! req
dispatch(controller, params[:action], req, res)
rescue ActionController::RoutingError
if @raise_on_name_error
raise
|
Extracted source (around line #50):
48
49
50
51
52
53
|
req.path_parameters = tmp_params
status, headers, body = route.app.serve(req)
if "pass" == headers["X-Cascade"]
req.script_name = script_name
|
Extracted source (around line #32):
30
31
32
33
34
35
|
def serve(req)
find_routes(req).each do |match, parameters, route|
set_params = req.path_parameters
path_info = req.path_info
script_name = req.script_name
|
Extracted source (around line #32):
30
31
32
33
34
35
|
def serve(req)
find_routes(req).each do |match, parameters, route|
set_params = req.path_parameters
path_info = req.path_info
script_name = req.script_name
|
Extracted source (around line #842):
840
841
842
843
844
845
|
req = make_request(env)
req.path_info = Journey::Router::Utils.normalize_path(req.path_info)
@router.serve(req)
end
def recognize_path(path, environment = {})
|
Extracted source (around line #15):
13
14
15
16
17
18
|
def call(env)
env[RACK_TEMPFILES] ||= []
status, headers, body = @app.call(env)
body_proxy = BodyProxy.new(body) do
env[RACK_TEMPFILES].each(&:close!) unless env[RACK_TEMPFILES].nil?
end
|
Extracted source (around line #27):
25
26
27
28
29
30
|
def call(env)
status, headers, body = @app.call(env)
headers = Utils::HeaderHash[headers]
|
Extracted source (around line #27):
25
26
27
28
29
30
|
case env[REQUEST_METHOD]
when "GET", "HEAD"
status, headers, body = @app.call(env)
headers = Utils::HeaderHash[headers]
if status == 200 && fresh?(env, headers)
status = 304
|
Extracted source (around line #12):
10
11
12
13
14
15
|
def call(env)
status, headers, body = @app.call(env)
if env[REQUEST_METHOD] == HEAD
[
|
Extracted source (around line #22):
20
21
22
23
24
25
|
def call(env)
request = ActionDispatch::Request.new(env)
_, headers, _ = response = @app.call(env)
return response unless html_response?(headers)
return response if policy_present?(headers)
|
Extracted source (around line #18):
16
17
18
19
20
21
|
def call(env)
request = ActionDispatch::Request.new env
_, headers, _ = response = @app.call(env)
return response unless html_response?(headers)
return response if policy_present?(headers)
|
Extracted source (around line #266):
264
265
266
267
268
269
|
req = make_request env
prepare_session(req)
status, headers, body = app.call(req.env)
res = Rack::Response::Raw.new status, headers
commit_session(req, res)
[status, headers, body]
|
Extracted source (around line #260):
258
259
260
261
262
263
|
def call(env)
context(env)
end
def context(env, app = @app)
|
Extracted source (around line #689):
687
688
689
690
691
692
|
request = ActionDispatch::Request.new env
status, headers, body = @app.call(env)
if request.have_cookie_jar?
cookie_jar = request.cookie_jar
|
Extracted source (around line #27):
25
26
27
28
29
30
|
error = nil
result = run_callbacks :call do
@app.call(env)
rescue => error
end
raise error if error
|
Extracted source (around line #98):
96
97
98
99
100
101
|
if callbacks.empty?
yield if block_given?
else
env = Filters::Environment.new(self, false, nil)
next_sequence = callbacks.compile
|
Extracted source (around line #26):
24
25
26
27
28
29
|
def call(env)
error = nil
result = run_callbacks :call do
@app.call(env)
rescue => error
end
|
Extracted source (around line #14):
12
13
14
15
16
17
|
state = @executor.run!
begin
response = @app.call(env)
returned = response << ::Rack::BodyProxy.new(response.pop) { state.complete! }
ensure
state.complete! unless returned
|
Extracted source (around line #18):
16
17
18
19
20
21
|
def call(env)
request = ActionDispatch::Request.new(env)
return @app.call(env) unless actionable_request?(request)
ActiveSupport::ActionableError.dispatch(request.params[:error].to_s.safe_constantize, request.params[:action])
|
Extracted source (around line #29):
27
28
29
30
31
32
|
def call(env)
request = ActionDispatch::Request.new env
_, headers, body = response = @app.call(env)
if headers["X-Cascade"] == "pass"
body.close if body.respond_to?(:close)
|
Extracted source (around line #33):
31
32
33
34
35
36
|
def call(env)
request = ActionDispatch::Request.new env
@app.call(env)
rescue Exception => exception
if request.show_exceptions?
render_exception(request, exception)
|
Extracted source (around line #37):
35
36
37
38
39
40
|
instrumenter.start "request.action_dispatch", request: request
logger.info { started_request_message(request) }
status, headers, body = @app.call(env)
body = ::Rack::BodyProxy.new(body) { finish(request) }
[status, headers, body]
rescue Exception
|
Extracted source (around line #26):
24
25
26
27
28
29
|
if logger.respond_to?(:tagged)
logger.tagged(compute_tags(request)) { call_app(request, env) }
else
call_app(request, env)
end
|
Extracted source (around line #99):
97
98
99
100
101
102
|
def tagged(*tags)
if block_given?
formatter.tagged(*tags) { yield self }
else
logger = ActiveSupport::TaggedLogging.new(self)
logger.formatter.extend LocalTagStorage
|
Extracted source (around line #37):
35
36
37
38
39
40
|
def tagged(*tags)
new_tags = push_tags(*tags)
yield self
ensure
pop_tags(new_tags.size)
end
|
Extracted source (around line #99):
97
98
99
100
101
102
|
def tagged(*tags)
if block_given?
formatter.tagged(*tags) { yield self }
else
logger = ActiveSupport::TaggedLogging.new(self)
logger.formatter.extend LocalTagStorage
|
Extracted source (around line #26):
24
25
26
27
28
29
|
if logger.respond_to?(:tagged)
logger.tagged(compute_tags(request)) { call_app(request, env) }
else
call_app(request, env)
end
|
Extracted source (around line #81):
79
80
81
82
83
84
|
req = ActionDispatch::Request.new env
req.remote_ip = GetIp.new(req, check_ip, proxies)
@app.call(req.env)
end
# The GetIp class exists as a way to defer processing of the request data
|
Extracted source (around line #26):
24
25
26
27
28
29
|
req = ActionDispatch::Request.new env
req.request_id = make_request_id(req.headers[@header])
@app.call(env).tap { |_status, headers, _body| headers[@header] = req.request_id }
end
private
|
Extracted source (around line #24):
22
23
24
25
26
27
|
end
@app.call(env)
end
def method_override(env)
|
Extracted source (around line #22):
20
21
22
23
24
25
|
def call(env)
start_time = Utils.clock_time
status, headers, body = @app.call(env)
headers = Utils::HeaderHash[headers]
request_time = Utils.clock_time - start_time
|
Extracted source (around line #29):
27
28
29
30
31
32
|
def call(env)
LocalCacheRegistry.set_cache_for(local_cache_key, LocalStore.new)
response = @app.call(env)
response[2] = ::Rack::BodyProxy.new(response[2]) do
LocalCacheRegistry.set_cache_for(local_cache_key, nil)
end
|
Extracted source (around line #14):
12
13
14
15
16
17
|
state = @executor.run!
begin
response = @app.call(env)
returned = response << ::Rack::BodyProxy.new(response.pop) { state.complete! }
ensure
state.complete! unless returned
|
Extracted source (around line #24):
22
23
24
25
26
27
|
def call(env)
@file_handler.attempt(env) || @app.call(env)
end
end
|
Extracted source (around line #110):
108
109
110
111
112
113
|
def call(env)
status, headers, body = @app.call(env)
if body.respond_to?(:to_path)
case type = variation(env)
when 'X-Accel-Redirect'
|
Extracted source (around line #98):
96
97
98
99
100
101
|
if authorized?(request) || excluded?(request)
mark_as_authorized(request)
@app.call(env)
else
@response_app.call(env)
end
|
Extracted source (around line #539):
537
538
539
540
541
542
|
def call(env)
req = build_request env
app.call req.env
end
# Defines additional Rack env configuration that is added on each call.
|
Extracted source (around line #270):
268
269
270
271
272
273
|
def call(env)
env[Const::PUMA_CONFIG] = @config
@app.call(env)
end
end
|
Extracted source (around line #100):
98
99
100
101
102
103
|
if @supported_http_methods == :any || @supported_http_methods.key?(env[REQUEST_METHOD])
status, headers, app_body = @thread_pool.with_force_shutdown do
@app.call(env)
end
else
@log_writer.log "Unsupported HTTP method used: #{env[REQUEST_METHOD]}"
|
Extracted source (around line #344):
342
343
344
345
346
347
|
t[:with_force_shutdown] = true
end
yield
ensure
t[:with_force_shutdown] = false
end
|
Extracted source (around line #99):
97
98
99
100
101
102
|
begin
if @supported_http_methods == :any || @supported_http_methods.key?(env[REQUEST_METHOD])
status, headers, app_body = @thread_pool.with_force_shutdown do
@app.call(env)
end
else
|
Extracted source (around line #443):
441
442
443
444
445
446
|
while true
@requests_count += 1
case handle_request(client, requests + 1)
when false
break
when :async
|
Extracted source (around line #245):
243
244
245
246
247
248
|
@status = :run
@thread_pool = ThreadPool.new(thread_name, @options) { |client| process_client client }
if @queue_requests
@reactor = Reactor.new(@io_selector_backend) { |c| reactor_wakeup c }
|
Extracted source (around line #151):
149
150
151
152
153
154
|
begin
@out_of_band_pending = true if block.call(work)
rescue Exception => e
STDERR.puts "Error reached top of thread-pool: #{e.message} (#{e.class})"
end
|
Rails.root: /app
Request
Parameters:
{"como-encontrar-la-fabrica-de-la-creatividad-e-innovacion-navarra-factori"=>nil, "Z"=>"b7f04730adddd88e"}
GATEWAY_INTERFACE: "CGI/1.2"
HTTP_ACCEPT: "*/*"
HTTP_VERSION: "HTTP/1.1"
HTTP_X_FORWARDED_FOR: "44.200.40.97, 91.199.0.168"
ORIGINAL_SCRIPT_NAME: ""
REMOTE_ADDR: "172.16.9.129"
SERVER_NAME: "acc-rnd-test-sim.newdev.faveod.com"
SERVER_PROTOCOL: "HTTP/1.1"
Response
Headers:
None