Hello!

I have a hanami 1.3 app, but the issue should be unrelated to hanami. I 
want to connect to a second db with plain Sequel-gem. Therefore I define 
the connection in hanami's `config/environment.rb`, which is required in 
`config/puma.rb`:

```ruby
# config/environment.rb
# ...
DWH = Sequel.connect(ENV['DWH'], :loggers => [Logger.new($stdout)])
#...
```
In production I have a puma-config like that:

```ruby
# config/puma.rb
require_relative './environment'
workers 5

threads_count = 1
threads threads_count, threads_count

daemonize true

preload_app!

rackup      DefaultRackup
port        2300
environment 'production'

before_fork do
  DWH.disconnect
end

on_worker_boot do
  Hanami.boot
end
```
I used the `before_fork` hook to disconnect the db 
(http://sequel.jeremyevans.net/rdoc/files/doc/fork_safety_rdoc.html). But 
after some time I get errors like that:

```txt
Sequel::DatabaseDisconnectError: PG::UnableToSend: SSL SYSCALL error: EOF 
detected
   
 
/home/usr/vendor/bundle/ruby/2.6.0/gems/sequel-4.49.0/lib/sequel/adapters/postgres.rb:166:in
 
`async_exec'
   
 
/home/usr/vendor/bundle/ruby/2.6.0/gems/sequel-4.49.0/lib/sequel/adapters/postgres.rb:166:in
 
`block in execute_query'
   
 
/home/usr/vendor/bundle/ruby/2.6.0/gems/sequel-4.49.0/lib/sequel/database/logging.rb:49:in
 
`log_connection_yield'
   
 
/home/usr/vendor/bundle/ruby/2.6.0/gems/sequel-4.49.0/lib/sequel/adapters/postgres.rb:166:in
 
`execute_query'
   
 
/home/usr/vendor/bundle/ruby/2.6.0/gems/sequel-4.49.0/lib/sequel/adapters/postgres.rb:153:in
 
`block in execute'
   
 
/home/usr/vendor/bundle/ruby/2.6.0/gems/sequel-4.49.0/lib/sequel/adapters/postgres.rb:129:in
 
`check_disconnect_errors'
   
 
/home/usr/vendor/bundle/ruby/2.6.0/gems/sequel-4.49.0/lib/sequel/adapters/postgres.rb:153:in
 
`execute'
   
 
/home/usr/vendor/bundle/ruby/2.6.0/gems/sequel-4.49.0/lib/sequel/adapters/postgres.rb:515:in
 
`_execute'
   
 
/home/usr/vendor/bundle/ruby/2.6.0/gems/sequel-4.49.0/lib/sequel/adapters/postgres.rb:327:in
 
`block (2 levels) in execute'
   
 
/home/usr/vendor/bundle/ruby/2.6.0/gems/sequel-4.49.0/lib/sequel/adapters/postgres.rb:537:in
 
`check_database_errors'
   
 
/home/usr/vendor/bundle/ruby/2.6.0/gems/sequel-4.49.0/lib/sequel/adapters/postgres.rb:327:in
 
`block in execute'
   
 
/home/usr/vendor/bundle/ruby/2.6.0/gems/sequel-4.49.0/lib/sequel/database/connecting.rb:301:in
 
`block in synchronize'
   
 
/home/usr/vendor/bundle/ruby/2.6.0/gems/sequel-4.49.0/lib/sequel/connection_pool/threaded.rb:107:in
 
`hold'
   
 
/home/usr/vendor/bundle/ruby/2.6.0/gems/sequel-4.49.0/lib/sequel/database/connecting.rb:301:in
 
`synchronize'
   
 
/home/usr/vendor/bundle/ruby/2.6.0/gems/sequel-4.49.0/lib/sequel/adapters/postgres.rb:327:in
 
`execute'
   
 
/home/usr/vendor/bundle/ruby/2.6.0/gems/sequel-4.49.0/lib/sequel/dataset/actions.rb:1135:in
 
`execute'
   
 
/home/usr/vendor/bundle/ruby/2.6.0/gems/sequel-4.49.0/lib/sequel/adapters/postgres.rb:680:in
 
`fetch_rows'
   
 
/home/usr/vendor/bundle/ruby/2.6.0/gems/sequel-4.49.0/lib/sequel/dataset/actions.rb:155:in
 
`each'
  /home/usr/app/lib/repositories/dwh_repository.rb:39:in `to_a'
```
Maybe somebody can help and has a hint or an idea, what's the reason for 
the SequelDatabaseDisconnectError. 

Thanks, and best regards

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sequel-talk/5a53bf43-4045-40e7-86a1-dc10241ca5den%40googlegroups.com.

Reply via email to