如何扩展activerecord和tinytds超时?

时间:2014-12-18 03:57:25

标签: ruby-on-rails sql-server activerecord tiny-tds

症状是:

  

TinyTds ::错误:Adaptive Server连接超时:EXEC some_stored_procedure

execute_procedure tinytds通过EXEC上的ActiveRecord在慢速MSSQL服务器上缓慢存储过程。如果我timeout = 60 SQL查询分析器中的存储过程,则需要29到30才能完成。

所以我补充道:

/etc/freetds.conf
<{1>}中的

read_timeout: 60
write_timeout: 60

database.yml

同样的错误仍然显示出来。我错过了其他任何配置吗?

P.S。当我按下返回键后,当超时错误出现时,我确实测量了,大约30秒。我有一种感觉30秒可能不是freetdsactiverecord的默认超时,并想知道为什么错误显示sql完成的时间有点接近......

1 个答案:

答案 0 :(得分:1)

已经很长时间但有人可能需要这个。我通过传递timeout:选项来创建tiny_tds客户端依赖git doc来解决这个问题,请参阅下面的内容:

client = TinyTds::Client.new username: 'sa', password: 'secret', host: 'mydb.host.net', timeout: 30