diff --git a/app/models/scheduler.rb b/app/models/scheduler.rb index 844fe5f84170..0c5db3386833 100644 --- a/app/models/scheduler.rb +++ b/app/models/scheduler.rb @@ -12,10 +12,8 @@ def self.threads Thread.abort_on_exception = true # reconnect in case db connection is lost - # See issue #1080 begin ActiveRecord::Base.connection.reconnect! - rescue PG::UnableToSend => e # rubocop:disable Lint/HandleExceptions rescue => e logger.error "Can't reconnect to database #{e.inspect}" end diff --git a/script/scheduler.rb b/script/scheduler.rb index 5be7db8c356a..fdd2e8523bb7 100755 --- a/script/scheduler.rb +++ b/script/scheduler.rb @@ -16,6 +16,12 @@ def before_fork + # clear all connections before for, reconnect later ActiveRecord::Base.connection.reconnect! + # issue #1405 - Scheduler not running because of Bad file descriptor in PGConsumeInput() + # https://github.com/zammad/zammad/issues/1405 + # see also https://bitbucket.org/ged/ruby-pg/issues/260/frequent-crashes-with-multithreading + ActiveRecord::Base.clear_all_connections! + # remember open file handles @files_to_reopen = [] ObjectSpace.each_object(File) do |file|