5

Rを使用して、RODBCパッケージを使用してMySQLデータベースからいくつかのデータを読み込みます。次に、データが処理され、一部の結果がデータベースに返送されます。問題は、データをローカルで処理するために必要な時間である非アクティブのために、サーバーが約1分後に接続を閉じることです。その共有サーバーなので、ホストはタイムアウト時間を増やすことはありません。

これを回避するには、2つの可能性があると思います。1)すべてのデータベーストランザクションの前に接続を開き、直後に接続を閉じます。2)30秒ごとにサーバーに小さな「ping」コマンドを送信して、サーバーに自分がまだそこにあります。

最初のものはかなり簡単に実装できますが、接続を常に開いたり閉じたりするのはかなり遅いようです。誰もが2番目の効率的なコマンドを知っていますか?または完全に良い方法ですか?

4

1 に答える 1

5

最初の解決策は、私が好むものです。R のようなシングル スレッド プログラムで後者を実行するのは非常に困難です。R が分析の実行で忙しい場合、R が ping を処理する方法はありません。数百回の読み取り/書き込みを行っていない限り、接続を開いたり閉じたりする方法で極端なオーバーヘッドが発生することはありません。

于 2010-08-04T14:34:47.113 に答える