タグ

ブックマーク / qiita.com/khirose (3)

  • PHPのCLIスクリプトでプログレスバー - Qiita

    PHPで長い時間のかかる処理(例えばデータベース間を何らかの変換をかませてデータ移行するバッチスクリプトなど)で途中経過の表示とかをしないとずっと走ってる間はダンマリなので当にやってるのかどうか不安になる性分 かといって、var_dump()なりprint_r()は出力が冗長すぎ、節目節目にprint/echoするのもその節目間の処理が長い場合は結局不安なのは同じで、fluentdなり他のログサーバに吐き出すのもなあ・・・というときにyumとかのようにプログレスバーを出すのはどうでしょう?というお話 エスケープシーケンスを使ったりすれば自力でできないことはないんだろうけど、PHP-CLI-Progress-Barというものをありがたく使わせてもらう 例としてmysqlからデータを拾ってきて何かしらごにょごにょします、というスクリプトを(漢らしくmysqli直で使うあたりがいかにも使い捨て

    PHPのCLIスクリプトでプログレスバー - Qiita
  • MongoDBとElasticsearchを同期させる - Qiita

    それRiverでできるじゃん はい、そうです 素直にRiver Plugin使えばいいのですが River用にレプリケーションを組まなきゃない Elasticsearch体のバージョンとプラグインのバージョン違いが思わぬところで地雷になる その他の事情 などの理由でRiverを使わない場合はどうすんべという話 Mongooseにはmiddlewareという機能があり、他のRDBMSのTrigger機能のように各種のメソッドコールに処理を差し込めるので、これを使うことにします 実装 予めElasticsearch側のインデックスを作っておく そしてMongooseとElasticsearchを結ぶようなモデルを作る 個人的にはapp.jsの下にlib/model.jsだったりlib/model/db名.jsとか作るのが好みです module.exports = function(){ va

    MongoDBとElasticsearchを同期させる - Qiita
  • ある処理を逐次一定期間ごとに繰り返す - Qiita

    ある処理が終わったら、同じような処理をパラメータだけ変えてもう1回後(たとえば1秒後)にやりたいなという場合 setInterval()だと処理が終わったか終わってないかに関わらず一定期間経過で処理が走ってしまうので今回の要件としてはNG Chrome拡張作ってて、ページングされてるHTMLをクロールしたい、けど田代砲もどきは作りたくない、という需要のもと、色々調べたんです で、Alarm API使えば?というツッコミもあると思うところだけど 「繰り返しの最低周期が分単位でしか指定できないじゃん、さすがに1ページ2分とかは無理がある」 という事実に気づいてガッカリ 逆に言えば、分単位でいいものはAlarm APIのほうがすっきりしてると思うのでお勧め var repeat = function(){ console.log('repeatFunc() started.'); /* 実際の処

    ある処理を逐次一定期間ごとに繰り返す - Qiita
    typista
    typista 2013/11/29
    ある処理を逐次一定期間ごとに繰り返す
  • 1