我有一台正在运行ubuntu 14.04
、Rails 4.2.0
、postgresql 9.6.1
和gempg 0.21.0/0.20.0
的生产服务器。在过去几天中,访问psql服务器
中的customer_input_datax_records
表时经常出现错误。
D, [2017-07-20T18:08:39.166897 #1244] DEBUG -- : CustomerInputDatax::Record Load (0.1ms) SELECT "customer_input_datax_records".* FROM "customer_input_datax_records" WHERE ("customer_input_datax_records"."status" != $1) [["status", "email_sent"]]
E, [2017-07-20T18:08:39.166990 #1244] ERROR -- : PG::UnableToSend: no connection to the server
: SELECT "customer_input_datax_records".* FROM "customer_input_datax_records" WHERE ("customer_input_datax_records"."status" != $1)
调用访问数据库服务器的代码是使用Rufus scheduler 3.4.2
循环的:
s = Rufus::Scheduler.singleton
s.every '2m' do
new_signups = CustomerInputDatax::Record.where.not(:status => 'email_sent').all
.......
end
重新启动服务器后,通常会出现第一次请求(或几次请求)出现问题。但是在一段时间后(例如1或2小时),问题开始出现。但是应用程序似乎运行良好(读/写访问记录和创建新记录)。有一些在线帖子介绍了这个错误。然而,问题似乎不是我遇到的那种。在重新安装psql服务器之前,我想先了解一下是什么导致了“无连接”的问题。
更新:database.yml
production:
adapter: postgresql
encoding: unicode
host: localhost
database: wb_production
pool: 5
username: postgres
password: xxxxxxx
parallel
等上看到了一些问题... - mabe02new_signups = CustomerInputDatax::Record.where.not(:status => 'email_sent').all
- user938363rufus_scheduler
从 3.4.2 降级到 3.3.4,系统开始正常访问表格。看起来与更新的 rufus_scheduler 版本有关。将尝试使用whenever
。谢谢。 - user938363