鈍足ランナーのIT日記

走るのが好きな5流のITエンジニアのブログ。

趣味の範囲は広いけど、どれも中途半端なクソブロガー楽しめるWebアプリを作ってあっと言わせたい。サーバーサイドPerl(Mojolicious)、クライアントサイドVue.js。Arduinoにも触手を伸ばす予定。

GrowthForecastとQudoの連携

インストールはドキュメントで

nginxの設定はこちら CentOSにGrowthForecastをいれて色々表示してみた

apache入れてないけど、パスワードの作り方は

http://forum.nginx.org/read.php?6,210155,210155

まえにユーザ名:を入れる編集をする http://www.perlmonks.org/?node_id=178482

crontabにQudoのジョブ数を出力する設定を入れた

*/5 * * * * curl -F number=`mysql -u hoge -ppassword -BN -e 'select count(*) from dbname.job' dbname` http://localhost:5125/api/qudo/job/count 2>&1 | logger -t post_gf -p local0.info

でも、mysqlのパスワードをじか書きしているので、warningがでてしまう。

Warning: Using a password on the command line interface can be insecure.

というわけで、ツールを作って、crontabから呼び出すようにしました。 Tengのインスタンスつくるところは、各自環境で読み替えてください。

#!/usr/bin/env perl
use strict;
use warnings;

use FindBin;
BEGIN { unshift @INC, "$FindBin::Bin/../lib" }

use Twien;
use Twien::DB;
use Net::GrowthForecast;

my $config = Twien->config;
my $teng = Twien::DB->new ( $config->{db});

my @rows = $teng->search_by_sql("select (select name from func where id = func_id) as name , count(*) as count from job group by func_id");

my $gf = Net::GrowthForecast->new();

for my $row(@rows){
  $gf->post("Twien","Qudo", $row->name, $row->count);
}