mechanizeを使用してサイトをスクレイピングし、mysqldbにプッシュしています。これらのsys読み取りエラーが頻繁に発生しますが、解決策がわかりません。私はRuby-mysqlgemを使用しています。
3343 次
2 に答える
2
私はまったく同じこと(mechanize + mysql)を実行していましたが、mysql呼び出しをbegin / rescue/end句でラップすることで解決しました。
begin
mysql_insert data
rescue Interrupt, Errno::EINTR
mysql_close connection
connection = mysql_connect
retry
end
これにより、コードが無限ループに陥ることに注意してください。これを実際の何かで使用する場合は、リミッターを設定することをお勧めします。すべてのmysql_*は私自身のメソッドです。
于 2011-03-28T23:25:32.317 に答える
1
同じエラーが発生していました。私の場合、これはmysql-gemの2つの異なるインストールによって引き起こされました。1つrvm gem
はデフォルトのosx rubyとともにインストールされ、もう1つはデフォルトのosxrubyからインストールされました。デフォルトのosxrubyを実行していたが、bundleを使用してrvmをインストールしたgemを取得したとき、バイナリは間違ったrubyからのものである必要があります。
rvm環境を確認し、rvmがインストールされたgemとbundlerのみを使用すると、問題が修正されました。
于 2011-08-22T09:31:45.280 に答える