Kouhei Sutou
kou****@clear*****
2016年 10月 20日 (木) 23:38:36 JST
須藤です。 In <20161****@jcom*****> "[groonga-dev,04161] dumpでプログレスバー" on Thu, 20 Oct 2016 21:53:31 +0900, shinonon <shino****@jcom*****> wrote: > groonga の DB バックアップで dump を使用しているのですが、数分かかるため、 > 簡単にプログレスバーを表示したいと思っています。 > 正攻法では、全テーブルの record 数を調べて、dump 出力を行でパースして、 > 出力行数÷全record数とかで表示させればいいのかな、と考えていますが、dump > の出力だけでお手軽に進捗を計算する方法なんて、やっぱりありませんかね? そうですねぇ。現状はないです。 現状で↑の方向でやるなら先頭が「[」から始まる行を数えるのが よいと思います。軽い処理でだいたいのレコード数を数えられます。 (実際のレコード数より数個増えます。) また、全テーブルがダンプされるわけではなくて、インデックスカ ラムしかないテーブルはダンプされないということにも注意してく ださい。 ダンプの内容の中にコメントでプログレスバー出力に有用な情報を 出すのがいいんですかねぇ。 load --table xxx [ [...] ... # progress: 43% ... [...] ] # progress: 100% みたいな感じで出して、クライアントの方では「#」から始まる行 を解析して利用するという感じを想定しました。 -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> Groongaベースの全文検索システムを総合サポート: http://groonga.org/ja/support/ パッチ採用 - プログラミングが楽しい人向けの採用プロセス: http://www.clear-code.com/recruitment/ OSS開発支援サービス: http://www.clear-code.com/blog/2016/6/27.html