Ruby ActiveRecord可重试

时间:2011-05-02 15:20:47

标签: ruby activerecord

我正在编写一个连接到外部数据库的ruby脚本,我正在尝试编写一个重试脚本,在断开连接时(出于任何上帝抛弃的原因)将继续重试连接以进行特定次数的重试或将死

我知道如何将可重试的部分写入我的脚本中,我遇到的问题是我无法在AR中找到具体的连接错误......任何人都对此作品有任何线索?

1 个答案:

答案 0 :(得分:2)

ConnectionNotEstablished错误怎么样?

  # Raised when connection to the database could not been established 
  # (for example when <tt>connection=</tt>
  # is given a nil object).
  class ConnectionNotEstablished < ActiveRecordError
  end

如果在对数据库执行某些命令时出现此错误(select语句等),您将知道数据库已断开连接。从那里,您可以重试连接(并执行语句)给定次数。

我在这里发现了ActiveRecord错误:

https://github.com/rails/rails/blob/master/activerecord/lib/active_record/errors.rb