Merge branch 'devel' of h1dev:/srv/APKPM/
[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(ZTEDSLAM ZTEMSAN CPE) ) {
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                         } elsif ( $k =~ m/^CPE\.(.+)/ ) {
18                                 $status->{poll}->{CPE}->{$1} = $status->{$k};
19                         }
20                 }
21         }
22
23         $status->{info} = $redis->info;
24
25         return $status;
26 }
27
28 1;