Getting error ThreadError and server got hang
I am running rails 5.2.1 app in the ec2 server of instance type t3.small. But server got hang after a few days run. In the puma_access.log there is following error log
Listen loop error: #<ThreadError: can't create Thread: Resource temporarily unavailable>
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:87:in `initialize'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:87:in `new'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:87:in `spawn_thread'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:162:in `block in <<'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:154:in `synchronize'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:154:in `<<'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/server.rb:398:in `block in handle_servers'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/server.rb:385:in `each'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/server.rb:385:in `handle_servers'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/server.rb:358:in `block in run'
In the server we are connecting to two RDS instance, second by using the class
class SecondDbBase < ActiveRecord::Base
establish_connection "#Rails.env_sec".to_sym
self.abstract_class = true
def readonly?
true
end
def write_attribute(name, value)
raise NotImplementedError, 'read only table'
end
end
and in the corresponding model I have extended the class
class Student < SecondDbBase
puma.rb file
workers 1
# Min and Max threads per worker
threads 1, 6
app_dir = File.expand_path("../..", __FILE__)
shared_dir = "#app_dir/shared"
tmp_dir = "#app_dir/tmp"
# Default to production
rails_env = ENV['RAILS_ENV'] || "production"
environment rails_env
# Set up socket location
bind "unix://#tmp_dir/sockets/puma.sock"
# Logging
stdout_redirect "#tmp_dir/log/puma.stdout.log", "#tmp_dir/log/puma.stderr.log", true
# Set master PID and state locations
pidfile "#tmp_dir/pids/puma.pid"
state_path "#tmp_dir/pids/puma.state"
preload_app!
activate_control_app
on_worker_boot do
require "active_record"
ActiveRecord::Base.connection.disconnect! rescue ActiveRecord::ConnectionNotEstablished
ActiveRecord::Base.establish_connection(YAML.load_file("#app_dir/config/database.yml")[rails_env])
end
Is the issue related to any database connection pool? How can I solve it?
ruby-on-rails amazon-ec2 puma
add a comment |
I am running rails 5.2.1 app in the ec2 server of instance type t3.small. But server got hang after a few days run. In the puma_access.log there is following error log
Listen loop error: #<ThreadError: can't create Thread: Resource temporarily unavailable>
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:87:in `initialize'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:87:in `new'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:87:in `spawn_thread'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:162:in `block in <<'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:154:in `synchronize'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:154:in `<<'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/server.rb:398:in `block in handle_servers'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/server.rb:385:in `each'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/server.rb:385:in `handle_servers'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/server.rb:358:in `block in run'
In the server we are connecting to two RDS instance, second by using the class
class SecondDbBase < ActiveRecord::Base
establish_connection "#Rails.env_sec".to_sym
self.abstract_class = true
def readonly?
true
end
def write_attribute(name, value)
raise NotImplementedError, 'read only table'
end
end
and in the corresponding model I have extended the class
class Student < SecondDbBase
puma.rb file
workers 1
# Min and Max threads per worker
threads 1, 6
app_dir = File.expand_path("../..", __FILE__)
shared_dir = "#app_dir/shared"
tmp_dir = "#app_dir/tmp"
# Default to production
rails_env = ENV['RAILS_ENV'] || "production"
environment rails_env
# Set up socket location
bind "unix://#tmp_dir/sockets/puma.sock"
# Logging
stdout_redirect "#tmp_dir/log/puma.stdout.log", "#tmp_dir/log/puma.stderr.log", true
# Set master PID and state locations
pidfile "#tmp_dir/pids/puma.pid"
state_path "#tmp_dir/pids/puma.state"
preload_app!
activate_control_app
on_worker_boot do
require "active_record"
ActiveRecord::Base.connection.disconnect! rescue ActiveRecord::ConnectionNotEstablished
ActiveRecord::Base.establish_connection(YAML.load_file("#app_dir/config/database.yml")[rails_env])
end
Is the issue related to any database connection pool? How can I solve it?
ruby-on-rails amazon-ec2 puma
add a comment |
I am running rails 5.2.1 app in the ec2 server of instance type t3.small. But server got hang after a few days run. In the puma_access.log there is following error log
Listen loop error: #<ThreadError: can't create Thread: Resource temporarily unavailable>
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:87:in `initialize'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:87:in `new'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:87:in `spawn_thread'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:162:in `block in <<'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:154:in `synchronize'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:154:in `<<'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/server.rb:398:in `block in handle_servers'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/server.rb:385:in `each'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/server.rb:385:in `handle_servers'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/server.rb:358:in `block in run'
In the server we are connecting to two RDS instance, second by using the class
class SecondDbBase < ActiveRecord::Base
establish_connection "#Rails.env_sec".to_sym
self.abstract_class = true
def readonly?
true
end
def write_attribute(name, value)
raise NotImplementedError, 'read only table'
end
end
and in the corresponding model I have extended the class
class Student < SecondDbBase
puma.rb file
workers 1
# Min and Max threads per worker
threads 1, 6
app_dir = File.expand_path("../..", __FILE__)
shared_dir = "#app_dir/shared"
tmp_dir = "#app_dir/tmp"
# Default to production
rails_env = ENV['RAILS_ENV'] || "production"
environment rails_env
# Set up socket location
bind "unix://#tmp_dir/sockets/puma.sock"
# Logging
stdout_redirect "#tmp_dir/log/puma.stdout.log", "#tmp_dir/log/puma.stderr.log", true
# Set master PID and state locations
pidfile "#tmp_dir/pids/puma.pid"
state_path "#tmp_dir/pids/puma.state"
preload_app!
activate_control_app
on_worker_boot do
require "active_record"
ActiveRecord::Base.connection.disconnect! rescue ActiveRecord::ConnectionNotEstablished
ActiveRecord::Base.establish_connection(YAML.load_file("#app_dir/config/database.yml")[rails_env])
end
Is the issue related to any database connection pool? How can I solve it?
ruby-on-rails amazon-ec2 puma
I am running rails 5.2.1 app in the ec2 server of instance type t3.small. But server got hang after a few days run. In the puma_access.log there is following error log
Listen loop error: #<ThreadError: can't create Thread: Resource temporarily unavailable>
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:87:in `initialize'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:87:in `new'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:87:in `spawn_thread'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:162:in `block in <<'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:154:in `synchronize'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:154:in `<<'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/server.rb:398:in `block in handle_servers'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/server.rb:385:in `each'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/server.rb:385:in `handle_servers'
/var/www/rails/rails-api/shared/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/server.rb:358:in `block in run'
In the server we are connecting to two RDS instance, second by using the class
class SecondDbBase < ActiveRecord::Base
establish_connection "#Rails.env_sec".to_sym
self.abstract_class = true
def readonly?
true
end
def write_attribute(name, value)
raise NotImplementedError, 'read only table'
end
end
and in the corresponding model I have extended the class
class Student < SecondDbBase
puma.rb file
workers 1
# Min and Max threads per worker
threads 1, 6
app_dir = File.expand_path("../..", __FILE__)
shared_dir = "#app_dir/shared"
tmp_dir = "#app_dir/tmp"
# Default to production
rails_env = ENV['RAILS_ENV'] || "production"
environment rails_env
# Set up socket location
bind "unix://#tmp_dir/sockets/puma.sock"
# Logging
stdout_redirect "#tmp_dir/log/puma.stdout.log", "#tmp_dir/log/puma.stderr.log", true
# Set master PID and state locations
pidfile "#tmp_dir/pids/puma.pid"
state_path "#tmp_dir/pids/puma.state"
preload_app!
activate_control_app
on_worker_boot do
require "active_record"
ActiveRecord::Base.connection.disconnect! rescue ActiveRecord::ConnectionNotEstablished
ActiveRecord::Base.establish_connection(YAML.load_file("#app_dir/config/database.yml")[rails_env])
end
Is the issue related to any database connection pool? How can I solve it?
ruby-on-rails amazon-ec2 puma
ruby-on-rails amazon-ec2 puma
edited Nov 13 '18 at 10:49
CR7
asked Nov 13 '18 at 10:15
CR7CR7
199117
199117
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53278674%2fgetting-error-threaderror-and-server-got-hang%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53278674%2fgetting-error-threaderror-and-server-got-hang%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown