extract redis_status into APKPM::Model
[APKPM.git] / lib / APKPM / Model.pm
1 package APKPM::Model;
2 use warnings;
3 use strict;
4
5 use Redis;
6
7 sub redis_status {
8         my $redis = Redis->new;
9
10         my $status;
11         foreach my $p ( qw(poll ZTEDSLAM ZTEMSAN) ) {
12                 foreach my $k ( $redis->keys("$p.*") ) {
13                         $status->{$k} = eval { $redis->scard($k) } || $redis->get($k);
14                         if ( $k =~ m/^(ZTE\w+)\.(\d+\.\d+\.\d+\.\d+)\.(\w+)/ ) {
15                                 #$status->{$1}->{$2}->{$3} = $status->{$k};
16                                 $status->{poll}->{$1}->{$3} += $status->{$k};
17                         }
18                 }
19         }
20
21         return $status;
22 }
23
24 1;